Spark连续处理模式无法读取所有kafka主题分区

时间:2019-01-10 14:22:39

标签: apache-spark apache-kafka spark-structured-streaming spark-streaming-kafka

我正在结构化流技术中试用Spark的连续处理模式,正在阅读带有2个分区的Kafka主题,而Spark应用程序只有一个具有一个核心的执行程序。

该应用程序是一个简单的应用程序,它仅从第一个主题读取并在第二个主题上发布。问题是我的控制台用户从第二个主题中读取内容,因此只能看到第一个主题的一个分区中的消息。这意味着我的Spark应用程序仅从该主题的一个分区中读取消息。

如何使我的Spark应用程序从主题的两个分区中读取?

注意

我问这个问题的人可能会遇到和我一样的问题

1 个答案:

答案 0 :(得分:3)

我在caveats section

的Spark结构化流文档中找到了我的问题的答案

基本上,在连续处理模式下,spark启动长时间运行的任务,该任务从主题的一个分区读取,因此,由于每个核心只能运行一个任务,因此spark应用程序需要的核心数量与从其读取的kafka主题分区一样多。