MapReduce编程模型3——Partitioner简介

概述

Partitioner 控制着map中间数据的key的分区。键(或键的子集)用于产生分区,通常通过哈希函数。分区的总数是和reduce的任务相同,因此,这控制着中间的键(以及记录)发送到哪个 m reduce任务中进行reduce处理。

注意:如果你需要 Partitioner 类来获取job 的configuration 对象,则需要实现 Configurable 接口。

 

抽象类 Partitioner

 

下面我们看一下 Partitioner 的定义

public abstract class Partitioner<KEY, VALUE> {
  public abstract int getPartition(KEY key, VALUE value, int numPartitions);
   HashPartitioner
}

抽象类Partitioner只定义了一个方法,getPartition 用以获取指定key的分区数量。

Partitioner 有很多的实现类,其中最常见的就是 HashPartitioner

 

参考:

http://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapreduce/Partitioner.html

https://blog.youkuaiyun.com/lemon_tree12138/article/details/51730960

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值