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;
    }
}
相关推荐
怣疯knight5 分钟前
如何在 GitHub 上秒查开源项目的 JDK 版本
java·github
砍材农夫8 分钟前
spring-ai 第二提示词介绍
java
__土块__8 分钟前
一次支付清结算系统线程池故障复盘:从任务积压到异步解耦的架构演进
java·消息队列·rocketmq·线程池·支付系统·故障复盘·异步架构
弹简特15 分钟前
【JavaEE31-后端部分】Spring事务入门:从编程式到@Transactional,带你轻松搞定数据一致性
java·spring·spring事务
程序员榴莲38 分钟前
Java(八):方法覆盖
java
刚刚觉醒的小菜鸡1 小时前
Claude-code源码学习
学习·ai·cloudera·结对编程
仗剑_走天涯1 小时前
hadoop 执行mr任务出现找不到主类或无法加载主类解决方案
hadoop·mr
J2虾虾1 小时前
Java使用jcifs读取Windows的共享文件
java·开发语言·windows
芙莉莲教你写代码1 小时前
Flutter 框架跨平台鸿蒙开发 - 时区转换器应用
学习·flutter·华为·harmonyos
妄汐霜1 小时前
小白学习笔记(MyBatis)
笔记·学习·mybatis