Spark参数设置的方式
可以通过以下几种方式设置:
1)bin/spark-submit 可以直接读取conf/spark-defaults.conf文件
每一行为一个key和value
spark.master spark://5.6.7.8:7077
spark.executor.memory 4g
spark.eventLog.enabled true
spark.serializer org.apache.spark.serializer.KryoSerializer
Spark之参数介绍
2)在spark-submit or spark-shell运行时指定参数
2.1)--conf PROP=VALUE 固定的spark配置属性
./bin/spark-submit --name "My app" --master local[4] --conf spark.eventLog.enabled=false
--conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps" myApp.jar
2.2)--properties-file FILE 加载额外属性的文件
如果要使用--properties-file的话,在--properties-file中定义的属性就不必要在spark-sumbit中再定义了,比如在conf/spark-defaults.conf 定义了spark.master,就可以不使用--master了。
关于Spark属性的优先权为:SparkConf方式 > 命令行参数方式 >文件配置方式,最终的参数为3者的merge
3)编码方式:SparkConf中指定
3.1)硬编码方式:
var conf =new SparkConf()
conf.set("spark.eventLog.enabled","true")
val sc = new SparkContext()
备注:可以创建空conf
3.2)spark-submit ... --application-arguments方式:
./bin/spark-submit \ --class <main-class> --master <master-url> \ --deploy-mode <deploy-mode> \ --conf <key>=<value> \ ... # other options <application-jar> \ [application-arguments]
备注:application-arguments可以指定具体的参数值,也可以指定具体的配置文件。
参考:
https://blog.csdn.net/hjw199089/article/details/72716607
https://www.jianshu.com/p/9b243c0a7410
http://blog.javachen.com/2015/06/07/spark-configuration.html
基础才是编程人员应该深入研究的问题,比如:
1)List/Set/Map内部组成原理|区别
2)mysql索引存储结构&如何调优/b-tree特点、计算复杂度及影响复杂度的因素。。。
3)JVM运行组成与原理及调优
4)Java类加载器运行原理
5)Java中GC过程原理|使用的回收算法原理
6)Redis中hash一致性实现及与hash其他区别
7)Java多线程、线程池开发、管理Lock与Synchroined区别
8)Spring IOC/AOP 原理;加载过程的。。。
【+加关注】。