0
タスクのグループはフィルタで構成されます。&複数のステージのDAG視覚化にマップが表示されます。これは、すべての段階で同じ変換が再計算されることを意味しますか?もしそうなら、これを解決する方法は?同じタスクセットがスパークジョブで複数のステージで繰り返されます
タスクのグループはフィルタで構成されます。&複数のステージのDAG視覚化にマップが表示されます。これは、すべての段階で同じ変換が再計算されることを意味しますか?もしそうなら、これを解決する方法は?同じタスクセットがスパークジョブで複数のステージで繰り返されます
データフレームでactionを実行するたびに、すべての変換が再計算されます。これは、アクションが実行されるまで変換が計算されないためです。
アクションが1つしかない場合、何もできませんが、複数のアクションがある場合は、最後の変換後にcache()
を使用できます。この方法を使用することにより、Sparkは最初の計算後にデータフレームをRAMに保存し、後続のアクションをより迅速に行います。
5つの狭い変換の後に 'reduceByKey()'があり、次に5つの狭い変換があるとします。この場合、2つの '段階 'があります。私の問題は、 'stage2'にも変換の最初のセットが現れます。 'reduceByKey()'の直前に 'cache()'を実行しますか? – vdep
@vdepはい、この場合、追加の変換は避けるべきです。 – Shaido
@vdepあなたが記述した内容の実際のコードを、 'transformations - > reduceByKey - > transformations'という質問に含めることができますか?私は正確な例について興味があります。なぜなら、 'cache'は同じデータフレーム上で複数のアクションを実行する場合にのみ有益であり、ここに該当するかどうかはわかりません。 –