Spark常用参数解释及建议值

spark的默认配置文件位于堡垒机上的这个位置: $SPARK_CONF_DIR/spark-defaults.conf,用户可以自行查看和理解。

spark及依赖环境版本如下: spark 2.1.0, hadoop 2.7.1 , hive 1.2.1, scala 2.11.8, jdk7、jdk8均可

需要注意的是,默认值优先级最低,用户如果提交任务时或者代码里明确指定配置,则以用户配置为先。 保险起见,默认参数都设置的比较保守,用户在在初步了解后自行设置可使个人程序运行最优。

一下配置均可以通过 –conf XXX=Y 方式使用,解释均基于spark2.1.0版本,详细参考 https://spark.apache.org/docs/latest/configuration.html

TablesAreCool
spark.masteryarn使用那种资源调度器,一般使用yarn。本地调试可以用local
spark.submit.deployModeclusterdriver程序运行位置,调试可以用client,线上任务建议cluster。
spark.driver.cores<10driver最大使用cpu(线程)数,JDSpark控制最大为28
spark.driver.memory<10gdriver申请内存大小,JDSpark控制最大为50G
spark.executor.memory<24g(10k集群 <48g)单个executor申请堆内内存大小,JDSpark控制最大为50G
spark.python.worker.memoryspark.executor.memory/2python开发的程序设置此值,java/scala开发的或者纯spark-sql程序使用默认值即可。
spark.yarn.executor.memoryOverhead4096单个executor申请堆外内存大小
spark.executor.coresexecutor.memory的1/4到1/2单个 executor最大并发task数,JDSpark控制最大为28
spark.executor.instances数据大小(GB)*2/executor.memoryexecutor数,JDSpark控制最大为500
spark.memory.fraction0.6(用默认即可)executor mem中用于计算和存储的内存比例,越小OOM概率越低但执行速度越慢
spark.memory.storageFraction0.5(用默认即可)计算和存储共用的内存中,存储所占内存最大比例。spark会动态调整不建议修改。
spark.speculationtrue推测执行机制,除streaming任务外均建议开启
spark.shuffle.service.enabledtrue默认为false,但如果shuffle数据量比较大,或者频繁出现shufle fetch failed exception,打开此配置能在一定程度缓解
spark.default.parallelism< spark.executor.cores*spark.executor.instances的2倍控制默认RDD的partithion数,读取hdfs文件时partition数以blocksize和是否合并输入为准。
spark.sql.shuffle.partitions< 总数据量(GB) * 3执行sql或sql类算子时shuffle分区数,默认是200,单数据量大时应提高此值。但次值过大,会导致产生很多空文件
spark.pyspark.pythonpython2/python3指定pyspark使用的python版本
spark.log.levelinfoALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF,不区分大小写。
spark.sql.hive.mergeFilesfalse开启会自动合并spark-sql产生的小文件

Spark on Yarn(router) oozie提交的话需要加额外参数:

–conf spark.hadoop.yarn.resourcemanager.address=10.198.22.68:8050 \
–conf spark.hadoop.yarn.resourcemanager.scheduler.address=localhost:8049 \
–conf spark.hadoop.yarn.resourcemanager.ha.enabled=false \
–conf spark.hadoop.yarn.federation.enabled=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值