栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive数据倾斜解决办法

Hive数据倾斜解决办法

什么是数据倾斜

任务进度长时间维持>99%,且任务未完成的情况

什么原因

某个reduce的输入量 >> 其他reduce数据的输入量

解决办法
    JOIN的情况下

    大表join小表:小表在前大表在后但是新版Hive已经对此进行了优化,所以在前在后差距不大大表join大表:空Key解决:如果是异常数据使用where过滤,不是异常数据就转换key值可以使用随机赋值,这样可以均匀的分布在reducer上尽量使用MapJoin把小表全部加载到内存在map端执行,避免reducer处理MapJoin工作机制避免使用笛卡尔积,join的时候没有on条件或者使用无效on条件hive只能使用一个reducer完成 Group By:Map 阶段同一 Key 数据分发给一个 reduce,当一个 key 数据过大时就倾斜了
    解决办法:可以在map端先进行部分聚合,Reduce得出最后结果去重统计情况
    COUNT DISTINCT 使用group by 再 count代替

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/747369.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号