新的directStream API按顺序读取主题的分区。为什么?

时间:2015-09-04 10:22:35

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

我正在尝试使用KafkaUtils中的新directStream方法读取kafka主题。 我有5个分区的Kafka主题。 我正在使用8个执行器和1个核心( - num-executors 8 --executor-cores 1)为每个执行一个关于纱线的流媒体工作。 所以注意到spark依次读取一个执行器中所有主题的分区 - 这显然不是我想要的。 我希望spark能够并行读取所有分区。 我怎样才能做到这一点?

提前谢谢你。

1 个答案:

答案 0 :(得分:0)

在创造就业机会时与卡夫卡的初步沟通,仅仅是为了设定KafkaRDD的抵消 - 更具体地说,是整个集群中构成KafkaRDD的每个KafkaRDD分区的抵消。

然后,在每个Executor上,它们用于在实际执行作业后获取数据。根据您注意到的情况,您可能已经看到了初始通信(来自驱动程序)。如果你已经看到所有的工作都在同一个执行器上执行,那么除了使用Kafka之外别的东西会出错。