Spark 作业执行常用参数、常用优化参数

本文详细介绍了Spark性能调优的22种策略,包括重试次数设置、多线程机制、自动调节机制、并行执行模式等关键配置,旨在帮助开发者理解和应用这些策略,提升Spark作业的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. spark重试次数

失败重试次数,默认重试4次,前期任务调试阶段,重试次数最好设置为1,可以较快得到执行结果;后期业务上线,也使用默认参数

--conf spark.yarn.maxAppAttempts=1
2. 开启Driver多线程机制
.set("spark.driver.allowMultipleContexts", "true") 
3.开启自动调节机制,根据当前的处理速度自适应调节每次读取的kafka数据量
.set("spark.streaming.backpressure.enabled", "true") 
4.限定每个分区最大的读取速度,具体值又作业代码决定
.set("spark.streaming.kafka.maxRatePerPartition", "5000") 
5. SparkStreaming开启FAIR并行BATCH执行模式
.set("spark.scheduler.mode","FAIR")
6. SparkStreaming设置最大并行BATCHS:100
.set("spark.streaming.concurrentJobs","100")
7. 定制优化JVM内存
--conf spark.executor.extraJavaOptions=\"-XX:MaxDirectMemorySize=4096m\" \
8. 开启预测执行
--conf spark.speculation=true \
--conf spark.speculation.interval=500ms \
9. 设置Java heap占用spark menory的比例(可能已废弃)
--conf spark.storage.memoryFraction=0.5 \
10. 设置shuffle占用spark menory的比例(可能已废弃)
--conf spark.shuffle.memoryFraction=0.3 \
11. 开启序列化超类(在诸如使用Proto结构的代码中,pb对象如果在网络间传输,不开启此项一定会报错)
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer \
12. 设置作业运行集群
--cluster hadoopprc-hadoop-spark2.3 \
13. 设置作业拥有人
--conf spark.yarn.job.owners=zhangSan \
14. 设置作业失败后短信报警的手机号
--conf spark.yarn.alert.phone.number=1888888888 \
15. 设置作业执行状态的邮件发送地址
--conf spark.yarn.alert.mail.address='zhangSan@xxx.com' \
16. 设置作业执行模式(yarn?单机?standalone?)
--master yarn  \
17. 设置作业执行所在的资源队列
--queue production.groupa.groupb  \
18. 设置excutor的JAVA虚拟机内存大小
--conf spark.executor.extraJavaOptions=\"-XX:MaxDirectMemorySize=4096m\" \
19. 设置driver内存大小
--driver-memory 8g \
20. 设置executor的内存大小
--executor-memory 8g \
21. 设置单个executor的核数
--executor-cores 2 \
22. 设置每个driver中,executor的个数
--num-executors 8 \
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值