kafka分区,excutor,task,RDD分区的关系:
数据的流:数据流向从kafka>sparkStreaming>RDD
1 kafka中的 topic 的 patition 分区的设置,kafka 的 partition 分区数 ,sparkStreaming 直连方式从kafka中拉数据的话,sparkStreaming 创建的 RDD 的分区数和 kafka partitions分区数是一致的 ,而RDD的分区数对应着集群中的tack的数量,也就是对应着 excutor 的数量和其核数。因此这个要参照集群中的计算资源来进行设置,设置kafka patition。
2 sparkStreaming 的 excutor 数决定着集群并发执行 task 的数量,task用来执行 RDD 的 patition 的数据的,一个task 跑一个RDD 分区数据,因此kafka patition数量设置好了的前提下,尽量让其一批执行完毕。
3 RDD分区,在直连方式下,创建的RDD partitions数与kafka partitions数一致。
来源:https://www.cnblogs.com/Mr--zhao/p/12530749.html