Spark参数有效配置
Posted 拱头
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark参数有效配置相关的知识,希望对你有一定的参考价值。
Spark参数配置有三种方式:
1.在编写代码的时候,通过创建SparkConf的时候,使用set方法配置. 2.动态加载:在使用spark-submit提交代码上集群的时候,通过spark-submit的参数进行配置,可以通过spark-submit --help指令查看能够配置的参数. 3.通过spark-default.conf配置文件配置.如果配置的参数能够同时在这三种配置方法中有效的话,参数值优先度优先使用代码中直接调用SparkConf设置的参数,其次是spark-submit最后才是spark-default,没有设置的才使用默认值.
作用域: 1.仅在spark-default.conf中配置有效的参数 这类参数作用于Master和Worker的机器,在Spark第一次启动的时候生效,这就意味着和提交程序的客户端无关,这类参数通常在类Master.scala和Worker.scala中有源码,配置完需要重启Spark系统生效。 在Master.scala和Worker.scala中初始化过程使用到的参数,只能通过spark-default.conf配置,并且重启集群或重启对应的Worker之后才会生效 例如:
spark.deploy.spreadOut,spark.deploy.defaultCores这两个参数,在Master启动的时候赋值,所以不能通过上面所说前两种方法设置,只能通过spark-dafault.conf设置并重启集群生效.
2.在spark-submit 和 spark-default.conf中配置有效: 这类参数通常和driver有关的配置,使用spark-submit提交jar的过程中,有一段调用SparkSumit对象反射启动jar包对象的过程,也就是说,在这个过程中使用到的参数,不能通过SparkConf配置。例如driver相关的几个参数:
以上是关于Spark参数有效配置的主要内容,如果未能解决你的问题,请参考以下文章