
204
10 章 Spark Streaming
};
JavaPairDStream<Integer, Long> responseCodeCountDStream = accessLogsDStream.mapToPair(
new PairFunction<ApacheAccessLog, Integer, Long>() {
public Tuple2<Integer, Long> call(ApacheAccessLog log) {
return new Tuple2(log.getResponseCode(), 1L);
}})
.updateStateByKey(new UpdateRunningSum());
10.4
出力操作は、最終的に変換されたストリーム中のデータに対して行わなければならないこと(例
えば外部のデータベースへの書き込みや、画面への出力)を指定します。
RDD が遅延評価されるのと同様に、DStream やその子孫の DStream も、出力操作が行われる
までは評価されません。そして、StreamingContext に出力操作が設定されていなければ、その
StreamingContext は起動しません。
すでに使いましたが、一般的にデバッグ出力の操作として使われるのが
print()
です。
print()
は、
DStream
の各バッチの先頭の
10
個の要素を取得して出力します。
プログラムをデバッグすることができたら、結果をセーブするために出力操作を使うこともで ...