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;
    }
}
相关推荐
乱世军军2 分钟前
AI 三大学习类型(监督/无监督/强化)的分类图
人工智能·学习
xixixi777773 分钟前
讲一下卫星移动通信网络(系统架构、核心技术与协议挑战及应用场景和战略价值)
网络·学习·安全·信息与通信·通信·卫星通信
ALex_zry3 分钟前
Rust语言基础分析与C++对比:系统编程的现代演进
java·c++·rust
名字不相符4 分钟前
[NCTF 2018]flask真香(个人记录,思路分析,学习知识,相关工具)
python·学习·flask·ctf
一字白首4 分钟前
Node.js+Vue 联动,Vue 快速上手:基础学习
vue.js·学习·node.js
你不是我我10 分钟前
【Java 开发日记】阻塞队列有哪些?拒绝策略有哪些?
java·开发语言
●VON11 分钟前
《从零到企业级:基于 DevUI 的 B 端云控制台实战搭建指南》
学习·华为·openharmony·devui·企业级项目
(●—●)橘子……13 分钟前
力扣344.反转字符串 练习理解
python·学习·算法·leetcode·职场和发展
lpruoyu14 分钟前
HTTP+XML形式完成请求交互
java
7澄115 分钟前
Java Socket 网络编程实战:从基础通信到线程池优化
java·服务器·网络·网络编程·socket·多线程·客户端