hadoop的分区学习

自定义分区实现:

抽象类

要自定义分区规则,就必须继承并且重写。

设置分区数量

driver类:

java 复制代码
        job.setNumReduceTasks(3);
        job.setPartitionerClass(FlowPartitioner.class);

分区方法类,直接用编号代替就好了

java 复制代码
public class FlowPartitioner extends Partitioner<Text, FlowBean> {
    @Override
    public int getPartition(Text text, FlowBean flowBean, int numPartitions) {
        int partitions;
        String phoneNum = text.toString();
        if(phoneNum.startsWith("136")){
            partitions = 0;
        } else if (phoneNum.startsWith("137")) {
            partitions = 1;
        }else if (phoneNum.startsWith("138")) {
            partitions = 2;
        }else if (phoneNum.startsWith("139")) {
            partitions = 3;
        }else {
            partitions = 4;
        }
        return partitions;
    }
}
相关推荐
旖旎夜光19 分钟前
C++(内存管理)
开发语言·c++·学习
whn197722 分钟前
达梦连接串JDBC测试程序
java·数据库
还是鼠鼠26 分钟前
Spring AI ChatClient详解:创建第一个AI客户端
java·springboot·spring ai·chatclient
无敌贵点大王26 分钟前
RTThread学习记录8——定时器tick相关,解密delay原理
学习
XH华34 分钟前
Linux系统第四章:工具的学习
linux·运维·学习
vHelios42 分钟前
【电商项目】测试 授权功能 遇到的问题与解决方案
java·spring boot·sql
别动我齐刘海42 分钟前
“三层同步审计”判定掉帧缺失
c语言·c++·人工智能·深度学习·学习·机器学习·机器人
fanged1 小时前
设备树学习5--读写实操(TODO)
学习
2401_894915531 小时前
GEO 定位优化源码搭建常见报错排查:数据库、伪静态、接口调试
java·数据库·网络协议·tcp/ip·spring·unity
bbq粉刷匠1 小时前
ArrayList 整体认识
java·jvm·数据结构