如何根据输入数据/文件大小配置spark集群(内存、核心、执行器)?



有一些公式可用于确定Spark作业的" Executor内存";及"执行人数目";和"执行者核心";根据集群的可用资源,是否有任何公式可以单独计算数据大小。

case 1: what is the configuration if: data size < 5 GB
case 2: what is the configuration if: 5 GB > data size < 10 GB
case 3: what is the configuration if: 10 GB > data size < 15 GB
case 4: what is the configuration if: 15 GB > data size < 25 GB
case 5: what is the configuration if: data size < 25 GB

尝试从多个来源找到此问题,但没有得到任何适当的解释。

应该指导您选择正确的资源量的第一个元素不一定是数据的大小,而是分区的数量-一般的经验法则是,分区的最佳数量应该等于或大于你的执行器中的核心数量-你可以在这个线程中了解更多。

第二件事是如果你要缓存您的DataFrames显式地(cache方法)—在这种情况下,RAM的数量也应该足以存储其中的所有数据(否则数据将溢出到存储中,从而破坏缓存的好处)。与此主题相关的线程

最新更新