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?
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
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. –