2016-10-10 4 views
0

Ich habe mehrere benutzerdefinierte kombinieren Funktionen, die ich als solche aufrufen:Dataflow funktioniert: Kombinieren Funktionen

z. Ich habe 'Daten' zuvor in der Pipeline berechnet.

cd1 = data | customCombFn1() 
cd2 = data | customCombFn2() 
cd3 = data | customCombFn3() 

Wie funktioniert die Pipeline im obigen Fall? Werden die Daten immer wieder ausgewertet? Oder werden cd1, cd2 und cd3 als Nebenprodukt der Pipeline ausgewertet?

Antwort

3

Ihr Objekt data ist eine PCollection. Durch das Anwenden einer Kombinationsumwandlung auf eine PCollection wird eine weitere PCollection erstellt, die meist viel weniger Elemente enthält.

Es gäbe keine "Neubewertung", wie Sie es nennen. PCollection wird normalerweise für mehrere Worker erstellt und sofort von Transformationen konsumiert, die sie benötigen. Wenn dies in einem bestimmten Fall nicht möglich ist, wird PCollection in der Regel für die Verarbeitung zu einem späteren Zeitpunkt gespeichert.

Im Allgemeinen wendet der Cloud Dataflow-Dienst automatisch Optimierungen auf die Pipeline der Benutzer an. In den meisten Fällen, einschließlich dieser, können Benutzer sich auf ihre Geschäftslogik anstelle der zugrundeliegenden Ausführungsüberlegungen konzentrieren.

+0

Also gibt es keine inhärenten Optimierungen zu Club CustomCombFn1, CustomCombFn2 und CustomCombFn3 Club als dict Aggregator richtig? Gibt es ein Papier oder Blog, das dasselbe beschreibt? Ich ging davon aus, dass der obige Code drei Durchläufe durch die vollständigen Daten ermöglichte, da ich drei Kombinationsoperationen habe. – vin

+0

Es ist komplizierter als das. Der Dataflow-Service wendet abhängig von der Pipeline-Struktur mehrere Arten von Optimierungen an. Manchmal wird ein Teil der Combine-Transformation in vorherige Teile der Pipeline "gehoben" oder neu geordnet oder auf andere Weise optimiert. Im Allgemeinen versuchen wir, so bald wie möglich kombinierte Transformationen durchzuführen, da dies die Datenmenge reduziert und normalerweise die Pipeline beschleunigt. –

Verwandte Themen