Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何阻止Spark加载默认值?_Scala_Apache Spark - Fatal编程技术网

Scala 如何阻止Spark加载默认值?

Scala 如何阻止Spark加载默认值?,scala,apache-spark,Scala,Apache Spark,当我执行spark提交时,会找到spark_主目录中设置的默认配置,并将其加载到系统属性中 我想停止加载defaults conf,只获取命令行参数,以便在创建spark上下文之前重新排序spark的配置方式 这可能吗?有几种方法可以修改配置 根据spark文档,您可以在运行时使用标志()修改配置: Spark shell和Spark submit工具支持两种加载方式 动态配置。第一个是命令行选项,例如 as--master,如上所示。spark submit可以接受任何spark 属性使用--

当我执行spark提交时,会找到spark_主目录中设置的默认配置,并将其加载到系统属性中

我想停止加载defaults conf,只获取命令行参数,以便在创建spark上下文之前重新排序spark的配置方式


这可能吗?

有几种方法可以修改配置

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

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

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

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

    创建一个空白的“blank.conf”文件,并使用--properties将其提供给spark

    ${SPARK_HOME}/bin/spark-submit --master local --properties-file "blank.conf" # etc
    

    Spark将在其配置中使用conf,而不是查找默认conf。如果需要,您可以在创建SparkContext之前手动加载默认conf。

    您可以修改
    Spark env.sh
    Spark defaults.conf
    谢谢。不幸的是,这些对我来说不合适。我想让我们的程序通过这些属性、属性文件或默认配置(按该顺序)来配置spark。我想在spark提交之后处理属性文件(在我的主文件中)。最后,清除默认值也不会起作用,因为这是繁忙集群的默认值。spark shell应继续使用这些设置。。我更确定的是,如果不进行黑客攻击或修改源代码,“我想在spark提交后处理属性文件”--你是说你想在工作中更改spark配置属性吗?根据我的测试,似乎你可以按照你的意愿配置SparkConf。一旦你用SparkConf创建了你的SparkContext,就这样了,它就变成了石头。当然。。。你可以做你想做的,但是你必须担心什么时候——一旦一个上下文被实例化,这个上下文就会一直保持这种状态,直到你杀死它并实例化一个新的上下文,AFAIK