在spark1.0中属性支持三种配置方式:
1、代码
在代码中构造SparkConf时指定master、appname或者key-value等
val conf = new SparkConf(); conf.setAppName("WordCount").setMaster(" spark://hadoop000:7077") val sc = new SparkContext(conf)
val conf = new SparkConf(); conf.set("spark.executor.memory", "1g") val sc = new SparkContext(conf)
2、命令行
在使用spark-submit或者spark-shell提交应用程序时,用命令行参数提交;
具体参数通过查看spark-submit --help 或者spark-shell --help得知;
spark-submit使用参见官方文档:http://spark.apache.org/docs/latest/submitting-applications.html
spark-submit --name SparkSubmit_Demo --class com.luogankun.spark.WordCount --master spark://hadoop000:7077 \ --executor-memory 1G --total-executor-cores 1 /home/spark/data/spark.jar hdfs://hadoop000:8020/hello.txt
注意:
1)此处虽然设置了name,但是如果在代码层面已经设置了setAppName("xxx"),那么此处的name是不生效的,因为代码层面设置参数的优先级大于命令行层面;
2)executor-memory是每个worker占用的,而executor-cores是所有worker一共占用;
3、配置文件
在spark1.0中使用conf/spark-defaults.conf配置文件设定,形如:
spark.master spark://hadoop000:7077 spark.local.dir /home/spark/spark_shuffle/ #配置spark shuffle数据存放路径 spark.executor.memory 1g
默认情况下spark-submit是会读取该配置文件,也可以通过参数设置读取其他配置文件,参见:spark-submit --properties-file
参数配置参见:http://spark.apache.org/docs/latest/configuration.html
注意三种属性设置的优先级:代码>命令行>配置文件
spark1.0属性配置以及spark-submit简单使用
时间: 2024-10-21 03:54:30