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;
    }
}
相关推荐
柒.梧.13 小时前
SSM常见核心面试问题深度解析
java·spring·面试·职场和发展·mybatis
杨章隐14 小时前
Java 解析 CDR 文件并计算图形面积的完整方案(支持 MultipartFile / 网络文件)@杨宁山
java·开发语言
Renhao-Wan14 小时前
Java 并发基石:AQS (AbstractQueuedSynchronizer)
java·开发语言
hhcccchh14 小时前
学习vue第八天 Vue3 模板语法和内置指令 - 简单入门
前端·vue.js·学习
zlp199214 小时前
xxl-job java.sql.SQLException: interrupt问题排查(二)
java·开发语言
sunnyday042614 小时前
深入理解Java日志框架:Logback与Log4j2配置对比分析
java·log4j·logback
浩瀚地学14 小时前
【Java】异常
java·开发语言·经验分享·笔记·学习
张np14 小时前
java基础-LinkedHashMap
java·开发语言
毕设源码-朱学姐14 小时前
【开题答辩全过程】以 高校图书馆管理系统为例,包含答辩的问题和答案
java
xie_pin_an15 小时前
C++ 从入门到进阶:核心知识与实战指南
java·c++·算法