Mapreduce中的分区Partitioner

原创 2017年07月17日 19:26:35

Mapreduce中的分区Partitioner
4.2.1 需求
根据归属地输出流量统计数据结果到不同文件,以便于在查询统计结果时可以定位到省级范围进行
4.2.2 分析
Mapreduce中会将map输出的kv对,按照相同key分组,然后分发给不同的reducetask
默认的分发规则为:根据key的hashcode%reducetask数来分发
所以:如果要按照我们自己的需求进行分组,则需要改写数据分发(分组)组件Partitioner
自定义一个CustomPartitioner继承抽象类:Partitioner
然后在job对象中,设置自定义partitioner: job.setPartitionerClass(CustomPartitioner.class)

4.2.3 实现
/**
* 定义自己的从map到reduce之间的数据(分组)分发规则 按照手机号所属的省份来分发(分组)ProvincePartitioner
* 默认的分组组件是HashPartitioner
*
* @author
*
*/
public class ProvincePartitioner extends Partitioner

相关文章推荐

MapReduce中的分区Partitioner,如何将拥有同一属性的数据放入同一个分区

MapReduce中的分区Partitioner,如何将拥有同一属性的数据放入同一个分区
  • xqShi
  • xqShi
  • 2017年06月22日 10:17
  • 155

MapReduce框架Partitioner分区方法

前言:对于二次排序相信大家也是似懂非懂,我也是一样,对其中的很多方法都不理解诶,所有只有暂时放在一边,当你接触到其他的函数,你知道的越多时你对...

MapRedece中的分区Partitioner

MapRedece中的分区Partitioner分析MapReduce中会将map输出的k-v对,按照相同的key进行分组,然后分发给不同的reduceTask中。 默认的分发规则为:根据key的h...

Spark自定义分区(Partitioner)

转载自过往记忆(http://www.iteblog.com/) 我们都知道Spark内部提供了HashPartitioner和RangePartitioner两种分区策略(这两种分区的代码解析可以...

MapReduce-定制Partitioner-使用NLineInputFormat处理大文件-求文件奇偶数行之和

在上一篇《MapReduce-定制Partitioner-求文件奇偶数行之和》博客中有朋友提到“如果文件很大,就被分成了多个record,那么每个record中的文件的奇数和偶数相对于原来的文件来说,...
  • doegoo
  • doegoo
  • 2016年03月24日 09:58
  • 955

MapReduce 重要组件——Partitioner组件

(1)Partitioner组件可以让Map对Key进行分区,从而可以根据不同的key来分发到不同的reduce中去处理; (2)你可以自定义key的一个分发股则,如数据文件包含不同的省份,而输出的要...

[Hadoop]MapReduce中的Partitioner与Combiner

Partitioners负责划分Maper输出的中间键值对的key,分配中间键值对到不同的Reducer。Maper输出的中间结果交给指定的Partitioner,确保中间结果分发到指定的Reduce...

Hadoop系列-MapReduce自定义Partitioner(十四)

Hadoop系列-MapReduce自定义Partitioner(十四)

[Hadoop]MapReduce中的Partitioner

A partitioner works like a condition in processing an input dataset. Partition阶段发生在Map阶段之后,Reduce阶段之...

MapReduce 进阶:Partitioner 组件

Partitioner 组件可以让 Map 对 Key 进行分区,从而将不同分区的 Key 交由不同的 Reduce 处理。如果这么说让你觉得有一些笼统的话,那么本文可能很适合你,因为本文会依据一个具...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mapreduce中的分区Partitioner
举报原因:
原因补充:

(最多只允许输入30个字)