spark分区和worker内核有什么区别?

72qzrwbm  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(390)

我用了 Standalone Spark Cluster 处理多个文件。当我执行驱动程序时,数据在每个worker上使用它的内核进行处理。
现在,我读到了 Partitions ,但我不知道它是否与工人核心不同。
两种设置有区别吗 cores number 以及 partition numbers ?

7cwmlq89

7cwmlq891#

分区(或任务)是指一个工作单元。如果您有一个200g的hadoop文件作为rdd加载并按128m(spark默认值)分块,那么这个rdd中有~2000个分区。内核的数量决定了一次可以处理多少个分区,最多可以并行执行2000个(以分区/任务的数量为上限)。

cu6pst1q

cu6pst1q2#

简单化视图:分区与核心数
当你调用一个动作rdd时,
为此创建一个“作业”。所以,工作是提交给spark的工作。
工作划分为“阶段”的基础上洗牌边界!!!
每个阶段根据rdd上的分区数进一步划分为任务。所以任务是spark最小的工作单元。
现在,这些任务中有多少可以同时执行取决于可用的“核心数”!!!

相关问题