我有一些使用案例需要更加明确,关于Kafka主题分区 -> Spark流资源利用。
我使用Spark独立模式,因此我只有"执行器总数"和"执行器内存"这两个设置。据我所知并根据文档,在Spark流中引入并行性的方法是使用分区的Kafka主题 -> RDD将具有与Kafka相同数量的分区,当我使用spark-kafka直接流集成时。
所以,如果主题中有1个分区,并且有1个执行器内核,那个内核将按顺序从Kafka读取。
如果我有:
主题中有2个分区,但只有1个执行器内核?那个内核是否会先从一个分区读取,然后再从第二个分区读取,所以在分区主题方面没有好处?
主题中有2个分区和2个内核?那么第一个执行器内核将从1个分区读取,第二个内核将从第二个分区读取?
1个Kafka分区和2个执行器内核?
谢谢。