HiveQL中如何排查数据倾斜问题

数据倾斜在Hadoop MapReduce中是一个常见问题,可能导致某些reduce任务执行异常缓慢或任务超时被杀掉。识别倾斜可以通过观察执行时间,如果某个reduce任务显著长于其他任务,可能存在倾斜。当任务因节点问题导致缓慢,推测执行的task快速完成则可能是个别问题。解决数据倾斜通常涉及调整分区策略或优化作业配置。
摘要由CSDN通过智能技术生成

https://blog.csdn.net/u010010664/article/details/79731044

数据倾斜的现象:

会导致的问题

可能会导致下面2个问题

1)某个reduce task,卡在99.9%半天不动。如下

 

2)任务超时被杀掉

Reduce处理的数据量巨大,在做full gc的时候,stop the world。导致响应超时,超出默认的600秒,任务被杀掉。报错信息

AttemptID:attempt_1498075186313_242232_r_000021_1 Timed outafter 600 secs Container killed by the ApplicationMaster. Container killed onrequest. Exit code is 143 Container exited with a non-zero exit code 143。

如何判断:

通过时间判断

如果某个reduce的时间比其他reduce时间长的多。(注意:如果每个reduce执行时间差不多,都特别长,则可能是reduce设置过少导致的)。如下图。大部分task在4分钟之内完成,只有r_000021这个task在30分钟内还没完成。

另外注意,这里面需要排除一种特殊情况。有时候,某个task执行的节点可能有问题,导致任务跑的特别慢。这个时候,mapreduce的推测执行,会重启一个任务。如果新的任务在很短时间内能完成,通常则是由于task执行节点问题导致的个别task慢。如果推测执行后的task执行任务也特别慢,那更能说明该task可能会有倾斜问题。

 

//todo

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值