0
私はそのように呼び出す複数のカスタム結合関数を持っています:データフローの作業:関数の結合
私は以前にパイプラインで計算された 'データ'を持っています。
cd1 = data | customCombFn1()
cd2 = data | customCombFn2()
cd3 = data | customCombFn3()
上記の場合、パイプラインはどのように機能しますか? 'データ'は何度も何度も評価されていますか?または、cd1
,cd2
およびcd3
がパイプラインの副産物として評価されていますか?
クラブのカスタムCombFn1、customCombFn2、customCombFn3には、dictアグリゲーターとしての固有の最適化はありません。同じことを記述している論文やブログはありますか?上記のコードは、3つの結合操作があるので、完全なデータを3回通過するのと同じであると仮定しました。 – vin
それはそれより複雑です。データフローサービスは、パイプライン構造に応じて、いくつかのタイプの最適化を適用します。コンバイン変換の一部は、パイプラインの先行部分に「持ち上げられ」たり、並べ替えたり、他の方法で最適化されたりすることがあります。一般に、我々はデータの量を減らし、通常はパイプラインを高速化するので、変換をできるだけ早く組み合わせて実行しようとします。 –