极客时间Spark性能调优实战-学习笔记(1)

通用性能调优(一)

一、应用开发三原则

原则一:使用spark自身的调优机制
充分利用 Spark 为我们提供的“性能红利”,如钨丝计划、AQE、SQL functions 等等。

钨丝计划的优势?
1)数据结构:采用紧凑的自定义二进制格式,存储效率高,避免的序列化反序列化。
2)开辟堆外内存来管理对象,对内存的估算更加精确,且避免了反复执行垃圾回收。
3)全阶段代码生成取代火山迭代模型。

AQE的优势?
AQE 可以让 Spark 在运行时的不同阶段,结合实时的运行时状态,周期性地动态调整前面的逻辑计划,然后根据再优化的逻辑计划,重新选定最优的物理计划,从而调整运行时后续阶段的执行方式。

1)自动分区合并
以filter和coalesce为例,当filter后,难免有些分区数据很少,需要我们手动通过coalesce合并。AQE会自动检测过小的分区,自动完成合并。
2)自动处理数据倾斜
自动加盐,完成数据倾斜的处理。
3)join策略自动调整
spark 3.0后可支持动态切换join方式,有一种情况是,其中一个表在排序前需要对数据进行过滤,过滤后的表小到足可以由广播变量容纳。针对这种情况,AQE 会根据运行时的统计数据,去动态地调整 Join 策略,把之前敲定的 Sort Merge Join 改为 Broadcast Join,从而改善应用的执行性能。

如何使用

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不认识CBW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值