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;
    }
}
相关推荐
找了一圈尾巴7 分钟前
Python 学习-深入理解 Python 进程、线程与协程(下)
开发语言·python·学习
小马爱打代码10 分钟前
Java泛型:T、E、K、V、?
java
l***370911 分钟前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
小坏讲微服务15 分钟前
Spring Boot 4.0 与 Spring Cloud Alibaba 2025 整合完整指南
java·spring boot·分布式·后端·spring cloud·微服务·架构
毕设源码-邱学长16 分钟前
【开题答辩全过程】以 基于Spring Boot的酒店管理系统为例,包含答辩的问题和答案
java·spring boot·后端
晨晖225 分钟前
MyBatisPlus的条件构造器
java·数据库·windows
有味道的男人28 分钟前
速卖通商品详情接口(速卖通API系列)
java·大数据·数据库
活跃的煤矿打工人28 分钟前
【星海随笔】标准学习
学习
一只小透明啊啊啊啊29 分钟前
垃圾回收算法有哪些
java·jvm