TDH计算引擎针对数据倾斜现象的保护机制

shuffle write阶段
Shuffle Write阶段当出现数据倾斜时将出现Bucket size is too large (>2G) after compress的报错提醒,此时应当调整reduce number或者调整分桶策略;

shuffle read阶段
参数一:ngmr.safety.size.single.entry -- hive-site.xml

  • 该参数默认值512000000,单位为byte,可session级别生效;
  • 注释:单task内相同key对应的value的数据量达到512MB的上限,判定为数据倾斜,报错Data skew for single key found;
  • 当出现这个报错提醒时的解决方案:common join转map join或skewjoin

参数二:ngmr.trie.keychunk.mb -- hive-site.xml

  • 默认值-1,可session级别生效;
  • 注释:
a)单task内所有key本身的总数据量达到2G(默认值情况下内部赋值16,16M*128)的上限,不同key太多了,可判定为数据倾斜,报错Key size is exceed;
b)单个key本身的数据大小超过16MB,报错Can't put key into keychunk, because key length exceed;
c)单task内所有key本身的总数据量达到4G(参数不可调),报错Can't put key into keychunk, because key length exceed 4GB;
  • 当出现这个报错提醒时的解决方案:调整reduce number或者分桶数

参数三:ngmr.trie.node.max -- hive-site.xml

  • 默认值20480000,可session级别生效;
  • 注释:与ngmr.trie.keychunk.mb类似,不同key太多了,可判定为数据倾斜,报错Exceed max trie node in key chunk;
  • 当出现这个报错提醒时的解决方案:调整reduce number或者分桶数
  •  大表与小表进行关联 --- Map Join
     大表与大表进行关联 --- Skew Join
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值