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