用mr处理大数据经常遇到数据不平衡的情况,这里的数据不平衡指的是,数据中有少部分key集中了大量的数据,导致其它的reduce都运行完了,只剩几个reduce在跑.这种情况一般有如下三种解决方法(原理都差不多). 1.重写partitioner 如果一个key对应的数据过过,那么可以在partitioner中对这个key进行分箱.通常做法是,在hash(key)后面加上一个字符串或数字,来把相同的key分发到不同的reduce中去.这里需要注意的是分多少个箱要估计一下,一般情况下,可根据key对…