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组件源码解析及实例

简述 Partitioner组件可以让Map对Key进行分区,从而可以根据不同的key来分发到不同的reduce中去处理;你可以自定义key的一个分发规则,如数据文件包含不同的大学,而输出的要求是每...
  • scgaliguodong123_
  • scgaliguodong123_
  • 2015年06月14日 11:14
  • 1450

MapReduce作业Map阶段和Reduce阶段重要过程详述(Partitioner、Combiner、Shuffle三个阶段的解析)

MapReduce作业Map阶段和Reduce阶段重要过程详述(Partitioner、Combiner、Shuffle)MapReduce作业Map阶段和Reduce阶段重要过程详述(Partiti...
  • superman_xxx
  • superman_xxx
  • 2016年05月13日 01:10
  • 3327

Hadoop 2.2.0词频统计(实现自定义的Partitioner和Combiner)

我们以简单的词频统计为例,逐个讲解Map,Reduce,Partition,Combiner的概念和用法。 本例基于Hadoop 2.2.0实测通过。...
  • zythy
  • zythy
  • 2014年01月04日 22:31
  • 10120

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

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

MapReduce框架Partitioner分区方法

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

MapRedece中的分区Partitioner

MapRedece中的分区Partitioner分析MapReduce中会将map输出的k-v对,按照相同的key进行分组,然后分发给不同的reduceTask中。 默认的分发规则为:根据key的h...
  • u010521842
  • u010521842
  • 2017年07月10日 09:00
  • 799

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

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

MapReduce 重要组件——Partitioner组件

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

Spark自定义分区(Partitioner)

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

MapReduce-定制Partitioner-求文件奇偶数行之和

这篇博客说明Partioner定制的问题,partion发生在map阶段的最后,会先调用job.setPartitionerClass对这个List进行分区,每个分区映射到一个reducer。每个分区...
  • doegoo
  • doegoo
  • 2015年12月24日 09:12
  • 914
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mapreduce中的分区Partitioner
举报原因:
原因补充:

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