spark从四个方面调优

一、常规性能调优
1.最佳的资源配置 Executor个数 Executor核数 Executor内存大小
2. rdd优化 对于需要多次用到的数据进行持久化 , 尽量将filter的操作提前
3.并行度的优化 并行度的调节,一般设置task数量为核数的2-3倍,与数据量的大小无关
4.采取 广播大变量
5.采用kryo压缩格式
6.调节本地化等待的时长 task会被分配到本地化等级较高的节点上,而该节点正在处理其余任务没有多于的资源,到达了等待时长后会将本地化降级,可能分配到没有数据的另一个节点上,后续会拉取数据运行任务,此过程的网络io是不愿意看到的,可以调高一点本地等待时长
二·、算子优化
1.map方法有时候也可以用mapPartition来替换,以pritition为单位来处理,使用mapPartition是将分区的数据 一次性接受处理,效率提高
2.foreachPartition的使用 用来优化一些连接对象的操作,避免一条消息处理创建一个连接对象
3.filter 和coalesce(默认不shuffle的 设置为可shuffle)的配合使用 避免数据倾斜
4.repartition和sparkSql sparkSql的并行度不允许用户自己指定,用户自定设置的并行度只对sparkSQ以外的stage有效L当遇到大量数据时,在查询完sql后立即repartition重新分区,提高并行度
5.reducByKeye等本地预聚合
三.shuffle调优
1.map缓冲区的大小
2.reduce端的缓冲区大小
3.reduce端拉取数据的重试次数
4.reduce端数据等待间隔的问题
5.shuffle排序的阈值扩大
四、Jvm的调优
1.统一内存管理机制
2.调节Executor的堆内存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值