如何阻止Spark加载默认值?

时间:2016-07-12 18:25:10

标签: scala apache-spark

当我执行spark-submit时,会找到SPARK_HOME目录中设置的默认conf并将其加载到系统属性中。

我想停止加载默认值conf,只是获取命令行参数,这样我就可以在创建spark上下文之前重新排序spark的配置。

这可能吗?

2 个答案:

答案 0 :(得分:1)

有几种方法可以修改配置。

  1. 根据spark文档,您可以使用标志(http://spark.apache.org/docs/latest/configuration.html)在运行时修改配置:
  2.   

    Spark shell和spark-submit工具支持两种加载方式   配置动态。第一个是命令行选项,例如   如--master,如上所示。 spark-submit可以接受任何Spark   使用--conf标志的属性... 指定为flags或属性文件中的任何值都将传递给应用程序并与通过SparkConf指定的值合并。

    这意味着你可以开始这样的工作:

    ./bin/spark-submit --conf spark.eventLog.enabled=false --conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps" myApp.jar
    
    1. 或者,您可以编辑spark-defaults.conf,而不必在spark-submit命令中传递其他标记。

答案 1 :(得分:0)

这是我认为可以接受的解决方案:

创建一个空白的“blank.conf”文件,并使用--properties

将其提供给spark
${SPARK_HOME}/bin/spark-submit --master local --properties-file "blank.conf" # etc

Spark将在其配置中使用conf而不是查找默认值conf。然后,您可以在创建SparkContext之前手动加载默认值conf,如果这是您的愿望。