2017-08-18 14 views

答えて

0

データフレームでactionを実行するたびに、すべての変換が再計算されます。これは、アクションが実行されるまで変換が計算されないためです。

アクションが1つしかない場合、何もできませんが、複数のアクションがある場合は、最後の変換後にcache()を使用できます。この方法を使用することにより、Sparkは最初の計算後にデータフレームをRAMに保存し、後続のアクションをより迅速に行います。

+0

5つの狭い変換の後に 'reduceByKey()'があり、次に5つの狭い変換があるとします。この場合、2つの '段階 'があります。私の問題は、 'stage2'にも変換の最初のセットが現れます。 'reduceByKey()'の直前に 'cache()'を実行しますか? – vdep

+0

@vdepはい、この場合、追加の変換は避けるべきです。 – Shaido

+3

@vdepあなたが記述した内容の実際のコードを、 'transformations - > reduceByKey - > transformations'という質問に含めることができますか?私は正確な例について興味があります。なぜなら、 'cache'は同じデータフレーム上で複数のアクションを実行する場合にのみ有益であり、ここに該当するかどうかはわかりません。 –

関連する問題