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;
    }
}
相关推荐
zhangjikuan894 分钟前
RunLoop学习记录
学习·macos·cocoa
夜瞬8 分钟前
NLP学习笔记08:循环神经网络(RNN)——从基础 RNN 到 LSTM 与 GRU
rnn·学习·自然语言处理
希望永不加班9 分钟前
SpringBoot 中 AOP 实现接口限流
java·spring boot·后端·spring
恼书:-(空寄9 分钟前
虚拟线程:Java 高并发编程的终局?
java·虚拟线程
oyzz12011 分钟前
spring loC&DI 详解
java·spring·rpc
教育知暖意11 分钟前
广州编程机构选择指南:入门到进阶实用参考
学习
IDIOT___IDIOT14 分钟前
Python 命令行参数 + 环境变量
java·服务器·python
Sam_Deep_Thinking16 分钟前
Spring Bean作用域的设计与使用
java·后端·spring
Devin~Y16 分钟前
互联网大厂Java面试:Spring Boot/Redis/Kafka/K8s 可观测 + RAG(向量检索/Agent)三轮追问实录
java·spring boot·redis·kafka·kubernetes·spring mvc·webflux