2016-09-12 13 views
1

各rddジョブにかかる時間(スパークストリーミングジョブを実行しているプログラム)を取得するにはどうすればよいですか。例えばジョブRDD各マイクロバッチのための上記のコードでプログラム内のスパークストリーミングジョブの継続時間

val streamrdd = KafkaUtils.createDirectStream[String, String, StringDecoder,StringDecoder](ssc, kafkaParams, topicsSet) 

val processrdd = streamrdd.map(some operations...).savetoxyz 

ためにマップとsaveto動作のために実行されます。

各ストリーミングジョブのタイムテーブルを取得したいと考えています。私はポート4040 UIでジョブを見ることができますが、スパークコードそのものに入りたいと思っています。

私の質問が明確でない場合は、ご容赦ください。

答えて

0

あなたはsparkアプリケーションでStreamingListenerを使用できます。このインタフェースは、バッチジョブの総所要時間を与えることができるonBatchCompleteメソッドを提供します。

context.addStreamingListener(new StatusListenerImpl());

StatusListenerImplあなたがStreamingListenerを使用して実装する必要が実装クラスです。 リスナーで利用可能な他の方法もあります。

+0

ありがとうございましたStreamingListenerは私が望むものを持っています。 –

関連する問題