Spark Direct Stream不会为每个kafka分区创建并行流

时间:2016-12-08 04:42:58

标签: parallel-processing spark-streaming

我们在整合Spark-Kafka流时遇到性能问题。

项目设置: 我们正在使用带有3个分区的Kafka主题,并在每个分区中生成3000条消息,并使用Spark直接流式处理它。

我们面临的问题: 在处理结束时,我们采用Spark直接流方法来处理相同的事情。根据以下文档。 Spark应该创建与主题中的分区数量一样多的并行直接流(在本例中为3)。但是在阅读时我们可以看到来自分区1的所有消息首先被处理,然后是第二个然后是第三个。任何帮助为什么它不处理并行?根据我的理解,如果它同时从所有分区并行读取,那么消息输出应该是随机的。

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

1 个答案:

答案 0 :(得分:1)

您是否尝试过设置spark.streaming.concurrentJobs参数。 可能在你的情况下,它可以设置为三个。

sparkConf.set(" spark.streaming.concurrentJobs"," 3")。

感谢。