当我在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/