spark-submit命令中使用的executor-cores
和spark.executor.cores
之间有什么区别吗?
由于GC开销内存错误导致我的工作失败,因此我尝试增加内核和内存设置。
我正在处理的总音量是两个文件中的50 M记录。
答案 0 :(得分:2)
executor-cores
命令中使用的spark-submit
标志只是在Spark配置上设置spark.executor.cores
设置。所以它们具有相同的效果:)
您可以尝试一些事情:
1)您已使用YARN标记了问题,因此如果您发现自己没有使用所有内核,则应该查看Apache Hadoop Yarn - Underutilization of cores
2)当您通过显式设置spark.yarn.executor.memoryOverhead来增加内存开销时,YARN上的许多内存问题都会得到解决。它将默认为max(386MB, 0.10* executorMemory)
,这通常是不够的。