我正在尝试使用KafkaUtils中的新directStream方法读取kafka主题。 我有5个分区的Kafka主题。 我正在使用8个执行器和1个核心( - num-executors 8 --executor-cores 1)为每个执行一个关于纱线的流媒体工作。 所以注意到spark依次读取一个执行器中所有主题的分区 - 这显然不是我想要的。 我希望spark能够并行读取所有分区。 我怎样才能做到这一点?
提前谢谢你。
答案 0 :(得分:0)
在创造就业机会时与卡夫卡的初步沟通,仅仅是为了设定KafkaRDD的抵消 - 更具体地说,是整个集群中构成KafkaRDD的每个KafkaRDD分区的抵消。
然后,在每个Executor上,它们用于在实际执行作业后获取数据。根据您注意到的情况,您可能已经看到了初始通信(来自驱动程序)。如果你已经看到所有的工作都在同一个执行器上执行,那么除了使用Kafka之外别的东西会出错。