您现在的位置:首页 --> 查看专题: 数据倾斜
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的分配到各个reduce中,就是解决数据倾斜的根本所在。规避错误来更好的运行比解决错误更高效。在查看了一些资料后,总结如下。 1数据倾斜的原因 1.1操作: 关键词 情形 后果 Join 其中一个表较小, 但是key集中 分发到某一个或几个Reduce上的数据远高于平均值 大表与大表,但是分桶的判断字段0值或空值过多 这些空值都由一个reduce处理,灰常慢 group by group by
[ 共1篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [13] 手机客户端交互适配设计之我见
- [11] 一个 VLA (可变长度数组)的实现
- [11] 一句话crontab实现防ssh暴力破解
- [10] Python连接 MySQL 数据库的超时问
- [10] 长假,回忆小时候的家庭教育点滴
- [10] 谈谈Facebook的聊天系统架构
- [10] Oracle bbed工具的编译
- [10] 四年前的今天,我开始找工作
- [10] PDC 2010:C#与Visual Bas
- [9] 浅析韩国团购网站
赞助商广告