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;
    }
}
相关推荐
WiChP1 分钟前
【V0.1B6】从零开始的2D游戏引擎开发之路
java·log4j·游戏引擎
厚皮龙3 分钟前
VAE 与世界模型学习总结
学习
小拉达不是臭老鼠4 分钟前
Unity05_3D数学
学习·unity·游戏引擎
leaves falling9 分钟前
C/C++ 的内存管理,函数栈帧详讲
java·c语言·c++
文静小土豆13 分钟前
Java 应用上 K8s 全指南:从部署到治理的生产级实践
java·开发语言·kubernetes
zhimingwen35 分钟前
初探 Java 後端開發:解決 macOS 環境下 Spring Boot 項目啟動的各類「坑」
java·spring boot
Rsun045511 小时前
3、Java 工厂方法模式从入门到实战
java·开发语言·工厂方法模式
田梓燊1 小时前
leetcode 142
android·java·leetcode
talen_hx2961 小时前
《零基础入门Spark》学习笔记 Day 16
笔记·学习·spark
亚空间仓鼠1 小时前
Ansible之Playbook(三):变量应用
java·前端·ansible