のqueueStream
機能の機能は何ですか?私の理解によると、それは入ってくるDStream
をキューに入れるキューです。そうであれば、ノードが多いクラスタでどのように処理されるのか。各ノードにはqueueStream
があり、DStream
はクラスタ内のすべてのノードに分割されていますか?このqueueStream
はクラスタ設定でどのように機能しますか?SparkStreamingでのqueueStreamの機能と有効化?
私は[Spark Streaming documentation] [https://spark.apache.org/docs/latest/streaming-programming-guide.html#basic-sources]で以下の説明を読んでいますが、完全に理解できませんでした。それを理解するのを助けてください。
ストリームとしてキューRDDSの:テストデータとスパークストリーミングアプリケーションをテストするための、一つはまたstreamingContext.queueStream(queueOfRDDs)を使用して、RDDSのキューに基づいてDSTREAMを作成することができます。キューにプッシュされた各RDDは、DStream内のデータのバッチとして処理され、ストリームのように処理されます。上記のコードの部分が異なるノード上のパーティションに関して、スパーク・ストリーミング・コンテキストで実行されますどのように
val myQueueRDD= scala.collection.mutable.Queue[RDD[MyObject]]()
val myStream= ssc.queueStream(myQueueRDD)
for(count <- 1 to 100) {
val randomData= generateData() //Generated random data
val rdd= ssc.sparkContext.parallelize(randomData) //Creates the rdd of the random data.
myQueueRDD+= rdd //Addes data to queue.
}
myStream.foreachRDD(rdd => rdd.mapPartitions(data => evaluate(data)))
。
あなたは私に追いついています! ;-) – eliasah
はい。キューが1つしかない場合、RDD配信がどのように行われるかは、明確にしたい部分です。キューがドライバ内にのみ存在する場合は、すべてのノードでどのように並列処理が行われるかをパーティション化して計算しますか? –
あなたは疑問を明確にする質問の編集をチェックアウトできますか?user6910411 –