これは基本的な質問かもしれませんが、私はこれを理解するのに苦労しています。スパークストリーミングユニオンストリーム並列化
私は現在、Spark/ScalaアプリケーションでMicrosoft Azureイベントハブストリーミングを使用しています。これはKafkaに似ています。
ユニオン化されたストリームを作成した場合、複数のDStreamオブジェクトが1つのDStreamのように抽象化され、ストリーム内の複数のRDDが並行して処理されるか、
この多くを試してみて、説明するために、ここでは簡単な例です:
sparkConf.set(SparkArgumentKeys.MaxCores, (partitionCount * 2).toString)
val ssc = new StreamingContext(sparkConf, streamDuration)
val stream = EventHubsUtils.createUnionStream(ssc, hubParams, storageLevel)
stream.checkpoint(streamDuration)
val strings = stream.map(f => new String(f))
strings.foreachRDD(rdd => {
rdd.map(f => f.split(' '))
})
partitionCountは紺碧のイベントハブ内のパーティションの数です。
- 最初の「stream.map」は、各RDDで並列に実行されますか?
- "string.foreachRDD"は一度に1つのRDDを処理するのですか、またはすべてのRDDを何らかの並列方法で処理しますか?各バッチの後
曖昧なので従うのがかなり難しい – thebluephantom
@thebluephantomどういう意味ですか?あなたに何が変わったのか教えてください。 –
まあ、私はforeachRDDを調べて、ドキュメントをある程度誤解を招くように見つけたので自分自身を投稿しました。それは厄介な話題です。私はあなたが私より先にいるのを見ます。しかし、法廷では、緑のダニに関係なく、それは私には分かりません。 – thebluephantom