2016-12-08 118 views
4

並行流。星火直接流也沒有創造我們所面臨的性能問題,同時整合火花流卡夫卡卡夫卡每個分區

項目設置: 我們使用Kafka主題和3個分區,並在每個分區中生成3000條消息並在Spark直接流中處理它。我們所面臨

問題: 在我們有火花直接流的方法來處理相同的處理結束。根據以下文件。 Spark應創建與主題中的分區數量相同的並行直接流(在本例中爲3)。但是在閱讀時,我們可以看到來自分區1的所有消息先被處理,然後是第二和第三。任何幫助爲什麼它不處理並行?根據我的理解,如果它在同一時間從所有分區平行讀取,那麼消息輸出應該是隨機的。

http://spark.apache.org/docs/latest/streaming-kafka-0-8-integration.html#approach-2-direct-approach-no-receivers

+0

*但是在閱讀時,我們可以看到所有來自分區1的消息先被處理,然後是第二和第三。*您怎麼看? –

回答

0

你有沒有嘗試設置spark.streaming.concurrentJobs參數。 可能在你的情況下,它可以設置爲三個。

sparkConf.set( 「spark.streaming.concurrentJobs」, 「3」)。

謝謝。

+1

我不確定你是否修復了這個問題。但我們使用「spark.streaming.kafka.maxRatePerPartition」標誌解決了它。沒有設置此標誌,默認行爲完全相同,正如您所提到的。一旦我們將此標誌設置爲100條消息,我們就可以看到並行處理分區。 –

相關問題