美文网首页
分区排序案例

分区排序案例

作者: bullion | 来源:发表于2019-01-23 14:35 被阅读0次

1)在全排序的基础上实现

2)

ProvincePartitioner

public class ProvincePartitioner extends Partitioner<FlowBean, Text> {

    @Override

    public int getPartition(Text key, FlowBean value, int numPartitions) {

        //按照手机号前三位分区

        String prePhoneNum = key.toString().substring(0, 3);

        int partition = 4;

        if ("136".equals(prePhoneNum)) {

            partition = 0;

        } else if ("137".equals(prePhoneNum)) {

            partition = 1;

        } else if ("138".equals(prePhoneNum)) {

            partition = 2;

        } else if ("139".equals(prePhoneNum)) {

            partition = 3;

        }

        return partition;

    }

}

3)在FlowCountSortDriver中增加代码

job.setPartitionerClass(ProvincePartitioner.class);

job.setNumReduceTasks(5);

相关文章

网友评论

      本文标题:分区排序案例

      本文链接:https://www.haomeiwen.com/subject/dxwjjqtx.html