Ich werte für einige Verarbeitungschargen von Daten aus. Als ein einfaches Beispiel sage ich, dass ich 2000 Punkte habe, die ich gerne durch einen FIR-Filter unter Verwendung der von scipy bereitgestellten Funktionalität passieren würde. Der Scipy-Filter ist eine einfache Funktion, die eine Reihe von Koeffizienten und die zu filternden Daten akzeptiert. Ist es möglich, in Flink eine Transformation zu erstellen? Es scheint, dass Flink-Transformationen Punkt für Punkt angewendet werden, aber ich vermisse etwas.Flink Batch-Datenverarbeitung
Antwort
Dies sollte sicherlich möglich sein. Flink hat bereits eine Python API (beta), die Sie vielleicht verwenden möchten.
Über Ihre zweite Frage: Flink kann eine Funktion Punkt für Punkt anwenden und kann auch andere Dinge tun. Es hängt davon ab, welchen Knick der Funktion Sie definieren. Zum Beispiel werden filter
, project
, map
, flatMap
pro Datensatz angewendet; max
, min
, reduce
usw. werden auf eine Gruppe von Datensätzen angewendet (die Gruppen werden über groupBy
definiert). Es besteht auch die Möglichkeit, Daten aus verschiedenen Datensätzen mit join
, cross
oder cogroup
zu verknüpfen. Bitte schauen Sie in die Liste der verfügbaren Transformationen in der Dokumentation: https://ci.apache.org/projects/flink/flink-docs-release-1.0/apis/batch/dataset_transformations.html