我有几个关于Spark流的基本问题
[请告诉我这些问题是否在其他帖子中得到了回答-我找不到任何答案]:
(i) 在spark流中,rdd中的分区数默认等于worker数吗?
(ii)在spark-kafka集成的直接方法中,创建的rdd分区数等于kafka分区数。假设每个rdd分区 i
将Map到同一工作节点 j
在每一批 DStream
? 也就是说,分区到工作节点的Map仅仅基于分区的索引吗?例如,分区2是否可以在一个批中分配给worker 1,在另一个批中分配给worker 3?
提前谢谢
1条答案
按热度按时间svmlkihl1#
i) 默认的并行性是核心数(对于mesos是8),但分区数取决于输入流实现
ii)否,分区索引到工作节点的Map是不确定的。如果您在与spark执行器相同的节点上运行kafka,则运行任务的首选位置将位于该分区的kafka引线的节点上。但即使这样,任务也可能被安排在另一个节点上。