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;
    }
}
相关推荐
艾莉丝努力练剑2 分钟前
【Linux进程(七)】进程虚拟地址空间详解:从概念到实现与设计哲学
java·linux·运维·服务器·人工智能·安全·进程
蜡笔弄丢了小新2 分钟前
nohup java -jar 文件名
java·python·jar
曼诺尔雷迪亚兹4 分钟前
微服务启动失败:Nacos 403(unknown user)与配置拉取失败故障双排查
java·运维·微服务
iconball5 分钟前
个人用云计算学习笔记 --36 MySQL
运维·笔记·学习·云计算
SadSunset7 分钟前
Spring框架全面学习总结
java·学习·spring
Blossom.1188 分钟前
边缘智能新篇章:YOLOv8在树莓派5上的INT8量化部署全攻略
人工智能·python·深度学习·学习·yolo·react.js·transformer
小Mie不吃饭11 分钟前
Spring boot + mybatis-plus + Redis 实现数据多级缓存(模拟生产环境)
java·spring boot·redis·mysql·缓存
不思念一个荒废的名字15 分钟前
【黑马JavaWeb+AI知识梳理】Web后端开发08 - 总结
java·后端
wdfk_prog15 分钟前
[Linux]学习笔记系列 -- [fs]locks
linux·笔记·学习
heartbeat..16 分钟前
Java IO 流完整解析:原理、分类、使用规范与最佳实践
java·开发语言·io·文件