Vol.01 实际案例-数据倾斜

💡 原文中文,约2200字,阅读约需6分钟。
📝

内容提要

本文分享了一位数仓工程师处理数据歪斜问题的经验,通过调整内存参数和查看Spark UI成功定位问题。作者提出了避免数据歪斜的方法,并总结了数仓工程师的能力和责任心。

🎯

关键要点

  • 数仓工程师的知识与能力通过实践不断积累和验证。
  • 处理数据歪斜问题的场景是由于Executor OOM导致的报错。
  • 初步处理计划是增加Executor内存参数以解决内存不足的问题。
  • 通过Spark UI检查失败的Stage和SQL,定位到具体的SQL问题。
  • SQL中使用-1填充缺失值导致数据歪斜,最终通过优化SQL解决了问题。
  • 数据歪斜的原因是小表数据量增加,超过了播送阈值,导致执行计划变化。
  • 建议在SQL中使用id != '-1'和id = '-1'的union all方式处理数据。
  • 数仓工程师需要具备快速定位问题的能力和强烈的责任心。
➡️

继续阅读