2016-07-08 6 views
0

私が達成しようとしているのは基本的にはデータストリームを受け取るたびに"hello world"のプリントです。受信したストリームでのスパークストリーミングプリント

私はので、各ストリームに私は機能foreachRDDを呼び出すことができますが、それは私を助けていないことを知っている:私はハロー印刷しないことが

  • に処理データがないことかもしれません

    1. 各rddで、ストリーム全体(データを受信したかどうかに関わらず)でhelloを出力したい。

    基本的に、プログラムがデータを取得しようとするたびに(30秒おきにスパークストリーミングコンテキストが原因であると言われます)、私はhelloを印刷したいと思います。

    これを行う方法はありますか?スパークストリーミングのonlistenイベントのようですか?

  • 答えて

    2

    DStreamには、内部的に複数のパーティションで分割された1つの唯一のRDDが含まれます(各ケースでは30秒)。空でないかどうかを確認してから、こんにちは世界を印刷してください:

    // Create DStream from source 
    dstream.foreachRDD { rdd => if (!rdd.isEmpty) println("hello world") } 
    
    +1

    ありがとう!これはそれを解決した –

    +0

    基本的な4つの時間パラメータは、ウィンドウ、スライド、バッチ、およびチェックポイント間隔です。バッチはウィンドウを構成し、バッチによる時間ステップは滑動し、持続時間は適切なチェックポイント間隔を選択しなければならない。 – Vezir

    関連する問題