maprduce 中reduce数量
Posted 牵牛花
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maprduce 中reduce数量相关的知识,希望对你有一定的参考价值。
@Override public int getPartition(Text key, FlowBean value, int numPartitions) { String prefix = key.toString().substring(0, 3); Integer provinceId = proviceDict.get(prefix); return provinceId==null?4:provinceId; }
在hadoop 默认的是hashpartitioner,简单的例子是用hashcode除以numPartitions的数量,这样在数据均匀的前提下,数据可以被均匀的分到每个reduce中.
还有一种情况是不按照numPartitions而是根据业务来判断的,比如按照订单的类别,将同一类别的订单数据发送到同一个reduce中,将同一个省份的电话号码的数据发送到到同一reduce中
此时在计算式就没有利用numpartiton,在代码中执行reducenumber时也要根据业务场景来指定
以上是关于maprduce 中reduce数量的主要内容,如果未能解决你的问题,请参考以下文章