转自:http://www.cnblogs.com/xuxm2007/archive/2011/09/01/2161929.htmlhttp://www.geminikwok.com/2011/04/02/hadoop-job解å?³å¤§æ?°æ?®é??å?³è??æ—¶æ?°æ?®å?¾æ...
分类:
其他好文 时间:
2015-11-04 17:45:18
阅读次数:
248
map/reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条key所在的reduce节点所处理的数据量比其他节点就大很多,从而导致某几个节点迟迟运行...
分类:
其他好文 时间:
2015-10-04 23:29:09
阅读次数:
1131
1,比较器尽量不要让mr产生序列化和反序列化的转换,参考WritableComparable类 2,reducer严重的数据倾斜,可以考虑自定义分区器 ? ? ?但是之前可以尝试使用combiner来压缩数据看是否能解决问题 3,Map阶段不使...
分类:
其他好文 时间:
2015-09-01 01:54:53
阅读次数:
187
select count(distinct user_id) from dm_user where ds=20150701;
使用disticnt函数,所有的数据只会shuffle到一个reducer上,导致reducer数据倾斜严重
优化后为
set mapred.reduce.tasks=50;
select count(*) from
(select user_id...
分类:
其他好文 时间:
2015-07-28 13:11:29
阅读次数:
103
数据倾斜
概念:数据倾斜是指,map /reduce程序执行时,reduce节点大部分执行完毕,但是
有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一
个key的条数比其他key多很多(有时是百倍或者千倍之多),这条key所在的reduce
节点所处理的数据量比其他节点就大很多,从而导致某几个节点迟迟运行不完。
执行操作:
1...
分类:
其他好文 时间:
2015-06-20 11:56:58
阅读次数:
131
此脚本运行速度慢,主要是reduce端数据倾斜导致的,了解到dw.fct_traffic_navpage_path_detl表是用来收集用户点击数据的,那么最终购物车和下单的点击肯定极少,所以此表ordr_code字段为空和cart_prod_id字段为NULL的数据量极大,如下所示:selectordr_code,count(*)asafromdw...
分类:
数据库 时间:
2015-05-13 17:09:42
阅读次数:
205
Hive数据倾斜(大表join大表)的现象、思路以及解决方案...
分类:
其他好文 时间:
2015-05-12 11:26:00
阅读次数:
227
一、性能低下的常见原因
(一)硬件环境
1、CPU/内存不足,或未充分利用
2、网络原因
3、磁盘原因
(二)map任务原因
1、输入文件中小文件过多,导致多次启动和停止JVM进程。可以设置JVM重用。
2、数据倾斜:大文件且不可分割,导致处理这些文件的map需要很长时间。
3、数据本地化效果差。
(三)reduce任务的原因
1、reduce任务数量过大或过小
2、数据...
分类:
其他好文 时间:
2015-03-13 22:28:04
阅读次数:
176
set hive.exec.reducers.bytes.per.reducer=2000000000; ##每个reduce任务处理的数据量,默认为1000^3=1G set hive.groupby.skewindata = true ##对于join和Group操作都可能会出现数据倾斜 set hive.optimize.sk...
分类:
其他好文 时间:
2015-03-13 20:54:49
阅读次数:
166
倾斜的原因: 使map的输出数据更均匀的分布到reduce中去,是我们的最终目标。由于Hash算法的局限性,按key Hash会或多或少的造成数据倾斜。大量经验表明数据倾斜的原因是人为的建表疏忽或业务逻辑可以规避的。解决思路: Hive的执行是分阶段的,map处理数据量的差异取决于上一个stag.....
分类:
其他好文 时间:
2015-03-05 20:54:17
阅读次数:
19465