Spark + Kafka整合 - 将Kafka分区映射到RDD分区

5

我有几个基本问题与Spark Streaming相关:

[如果这些问题已经在其他帖子中得到了解答,请告诉我 - 我找不到任何]:

(i) 在Spark Streaming中,RDD中的分区数量默认情况下是否等于工作节点数?

(ii) 在Spark-Kafka集成的直接方法中,创建的RDD分区数等于Kafka分区数。 是否正确假设每个RDD分区 i DStream的每个批次中都会映射到相同的工作节点j?也就是说,将分区映射到工作节点的映射仅基于分区的索引吗? 例如,分区2在一个批次中被分配给worker 1,在另一个批次中被分配给worker 3,这种情况是否可能发生?

提前致谢。

1个回答

6

i) 默认并行度是核数(或mesos的8个),但分区数取决于输入流实现。

ii) 不,分区索引到工作节点的映射不是确定性的。如果您在与Spark执行程序相同的节点上运行kafka,则首选运行任务的位置将在该分区的kafka leader节点上。但即使如此,任务也可能被调度到另一个节点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接