Apache Spark Web UIで「ステージスキップ」とはどういう意味ですか?


回答:


123

通常、これはデータがキャッシュからフェッチされており、特定のステージを再実行する必要がなかったことを意味します。これは、次の段階でシャッフルが必要であることを示すDAGと一致しています(reduceByKey)。シャッフルが含まれる場合は常に、Sparkは生成されたデータを自動的にキャッシュします

シャッフルはまた、ディスク上に多数の中間ファイルを生成します。Spark 1.3以降、これらのファイルは、対応するRDDが使用されなくなり、ガベージコレクションされるまで保持されます。これは、系統が再計算された場合にシャッフルファイルを再作成する必要がないようにするためです。


21
素晴らしい答え。あなたが知りたい場合は「スキップ」とWeb UIの「保留中」の段階の意味についての詳細を、チェックアウトgithub.com/apache/spark/pull/3009、最初にこれらの概念を導入し、プルリクエストを。スキップされた/保留中のステージがジョブレベルのプログレスバーとどのように相互作用するかについて知りたい場合は、そのPRも興味深い読み物です。
Josh Rosen 2016年

1
私が正しくフォローしている場合、Sparkがこれらをスキップすると、それらは発生せず、コードからすべて一緒に削除できますか?またはコードはキャッシュで非常に効率的ですので、そのままにしますか?@ zero323
SparkleGoat

1
@SparkleGoatいいえ。これは、これらのステージが以前に評価されており、結果を再実行せずに利用できることを意味します。
10465355元に戻すモニカ言う

別の質問ですが、キャッシュとスキップの段階で出力データが異なる可能性はありますか?
SparkleGoat

@SparkleGoat、キャッシュなし(およびそのためスキップ)は内部スパーク最適化であり、出力データを変更することはありません。
RaviSanwal19年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.