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;
    }
}
相关推荐
(Charon)9 小时前
【Kafka】消息队列学习(二):Topic、Partition与Offset,消息到底存在哪里
分布式·学习·kafka
彧azz9 小时前
Git 学习指南:从入门到进阶的完整实践手册
git·学习
摆烂z9 小时前
定时任务同步数据--续跑&重试
java·mybatis·ai编程
CAE虚拟与现实10 小时前
docker desktop中的build功能是要build什么
java·docker·容器
allnlei12 小时前
s6-overlay - 装在 Docker 容器里的轻量级管家
java·docker·容器
彧azz18 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
IT_Octopus18 小时前
IntelliJ 本地日志路径自定义:`-DLOG_PATH=./logs` 为什么总“不听话“
java·log4j·intellij-idea
平头哥AI18 小时前
Day 22 _ 包装错误别丢链_%w、errors.Is 与 errors.As
android·服务器·学习·golang·go
一阵寒风18 小时前
CAM智能化助力PCB 智能制造-培训体系第六章.项目开发学习
学习·制造
传奇开心果编程19 小时前
【Xilem 0.4 基础语法学与练】第15课:状态管理与 memoize 性能优化
学习·rust·前端框架