スパークステージの各ステップの継続時間はどのようにして求めることができますか?スパークステージの各ステップの実行時間の特定
私は正確に私の仕事のボトルネックになっているステップを把握したいと思います。
スパークステージの各ステップの継続時間はどのようにして求めることができますか?スパークステージの各ステップの実行時間の特定
私は正確に私の仕事のボトルネックになっているステップを把握したいと思います。
Sparkでのパイプライン操作の最適化の一部であるため、Spark UIを使用して、マップやflatMapなどのステージ内の特定の変換に関するパフォーマンスメトリックを取得することはできません。
ただし、これらの変換の間にcollect()アクションとタイマーを挿入してシミュレーションすることはできます。
ここでは、Spark UIを使ってアプリケーションをデバッグする方法について説明しています。 Understanding your Apache Spark application through visualization
あなたは、ジョブの進捗状況の測定基準を捕獲するためのスパークによってStreamingListenerのデフォルトの実装であるクラスStreamingJobProgressListenerを参照することができます。次のように
このリスナーは、フェッチすることができます。
JavaStreamingContext jssc = new JavaStreamingContext(sparkconf, Durations.seconds(60));
StreamingJobProgressListener progressListener = jssc.ssc().progressListener();
あなたはあなたが必要なメトリックを取得するためprogressListener.onStageSubmitted、progressListener.onStageCompleted、progressListener.onTaskStartとprogressListener.onTaskEndの機能を探索することができます。