栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

spark优化三部曲(三)--参数调优

spark优化三部曲(三)--参数调优

前文:spark优化三部曲(二)--代码优化_dkk2014的博客-CSDN博客

1.shuffle参数

shuffle参数大都是围绕,单词读写的数据量大小,io,网络稳定性等

spark官网-- shuffle参数

2.timeout参数

目的是为了提高稳定性

spark.network.timeout=120s //默认120s

3.本地性参数

发生任务倾斜的时候可以设置,可查看我这篇文章

spark的task分布不均匀,某些executor没有领取任务_dkk2014的博客-CSDN博客_spark task分布不均匀

4.内存模型参数

可以调整内存模型的各个分区比例和开启堆外内存(不建议开启堆外,任务会不稳定)

可自行搜索 spark统一内存管理

spark官网-内存管理

5.JVM参数

打印日志,根据不同的垃圾回收处理器设置参数等

通常在GC状态不好(web ui看飙红)的时候开启。

这边建议开启G1,G1对大数据处理非常友好

--conf 'spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseG1GC'

6.AQE参数

解决spark sql的大部分数据倾斜,小文件问题,动态分区裁剪,以及最优解的join等

spark官网-runtime参数
 

7.num-executors  executor-cores  executor-memory

 这可能是spark新人最经常接触也最迷惑的点了

先给个通用配置

num-executors 看任务整体并发度(被划分成了多少个task)

executor-cores=2 

executor-memory=8G-16G

如果有多线程安全问题(比如mapPartition里有线程不安全的操作)

executor-cores=1(只能为1)

executor-memory=4G-16G

了解更多看我另外一篇文章spark如何合理的分配资源(executor-memory,num-executors,executor-cores)_dkk2014的博客-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/690181.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号