CC00108.spark——|Hadoop&Spark.V06|——|Spark.v06|Spark 原理 源码|数据倾斜&基本概念|

一、数据倾斜
### --- 基本概念

~~~     这是我们期望的处理模式:
### --- 什么是数据倾斜

~~~     Task之间数据分配的非常不均匀
~~~     key.hashCode % reduce个数 = 分区号
### --- 数据倾斜有哪些现象

~~~     Executor lost、OOM、Shuffle过程出错、程序执行慢
~~~     单个Executor执行时间特别久,整体任务卡在某个阶段不能结束
~~~     正常运行的任务突然失败大多数 Task 运行正常,个别Task运行缓慢或发生OOM
### --- 数据倾斜造成的危害有哪些

~~~     个别任务耗时远高于其它任务,轻则造成系统资源的浪费,
~~~     使整体应用耗时过大,不能充分发挥分布式系统并行计算的优势
~~~     个别Task发生OOM,导致整体作业运行失败
### --- 为什么会发生数据倾斜

~~~     数据异常
~~~     参与计算的 key 有大量空值(null),这些空值被分配到同一分区
### --- Map Task数据倾斜,主要是数据源导致的数据倾斜:

~~~     数据文件压缩格式(压缩格式不可切分)
~~~     Kafka数据分区不均匀
### --- Reduce task数据倾斜(重灾区,最常见):

~~~     Shuffle (外因)。Shuffle操作涉及到大量的磁盘、网络IO,对作业性能影响极大
~~~     Key分布不均 (内因)
### --- 如何定位发生数据倾斜

~~~     凭借经验或Web UI,找到对应的Stage;再找到对应的 Shuffle 算子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yanqi_vip

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

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

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

打赏作者

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

抵扣说明:

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

余额充值