当我在EMR上运行Spark应用程序时,将配置添加到spark / conf spark-defaults.conf文件与运行Spark Submit时添加配置之间有什么区别?

例如,如果我将其添加到conf spark-defaults.conf中:

spark.master         yarn
spark.executor.instances            4
spark.executor.memory               29G
spark.executor.cores                3
spark.yarn.executor.memoryOverhead  4096
spark.yarn.driver.memoryOverhead    2048
spark.driver.memory                 12G
spark.driver.cores                  1
spark.default.parallelism           48

等同于将其添加到命令行参数中:





如果将其添加到我的Java代码中,例如:
SparkConf sparkConf = new SparkConf().setAppName(applicationName);
        sparkConf.set("spark.executor.instances", "4");

最佳答案

区别在于优先级。根据spark documentation:

关于apache-spark - 在EMR集群中运行Spark应用时在哪里指定Spark配置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50121756/

10-11 07:43
查看更多