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】MapReduce中的分区方法Partitioner

在进行MapReduce计算时,有时候需要把最终的输出数据分到不同的文件中,比如按照省份划分的话,需要把同一省份的数据放到一个文件中;按照性别划分的话,需要把同一性别的数据放到一个文件中。我们知道最终...
  • yongjian1092
  • yongjian1092
  • 2015-07-14 11:24:41
  • 914

MapReduce框架Partitioner分区方法

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

MapReduce教程(二)MapReduce框架Partitioner分区

在进行MapReduce计算时,有时候需要把最终的输出数据分到不同的文件中,按照手机号码段划分的话,需要把同一手机号码段的数据放到一个文件中;按照省份划分的话,需要把同一省份的数据放到一个文件中;按照...
  • yuan_xw
  • yuan_xw
  • 2016-03-12 22:24:25
  • 1907

MapReduce之Partitioner组件源码解析及实例

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

[Hadoop]MapReduce中的Partitioner与Combiner

Partitioners负责划分Maper输出的中间键值对的key,分配中间键值对到不同的Reducer。Maper输出的中间结果交给指定的Partitioner,确保中间结果分发到指定的Reduce...
  • SunnyYoona
  • SunnyYoona
  • 2017-01-07 18:18:59
  • 1660

MapReduce 进阶:Partitioner 组件

Partitioner 组件可以让 Map 对 Key 进行分区,从而将不同分区的 Key 交由不同的 Reduce 处理。如果这么说让你觉得有一些笼统的话,那么本文可能很适合你,因为本文会依据一个具...
  • u013761665
  • u013761665
  • 2016-06-21 23:47:47
  • 10570

MapReduce里面的二次排序、组排序和Partitioner

在MapReduce程序中,我们常常需要对属于同一个key的value进行排序,即“二次排序”,将key和value进行组合,合并成一个新的key,给map去排序。在Hadoop 1.0.4中,利用s...
  • FacingTheSunCN
  • FacingTheSunCN
  • 2013-03-24 14:51:24
  • 1133

hadoop之shuffle------>分区机制Partitioner

一 、需求    用一个具体需求实例来说明Partitioner分区机制 例如: 将下列手机号进行分区,135,136,137,138,139等开头的手机号放到一个文件,150,159等开头的手机...
  • hongchenlingtian
  • hongchenlingtian
  • 2016-12-13 21:46:48
  • 592

Hadoop详解(四)——Shuffle原理,Partitioner分区原理,Combiner编程,常见的MR算法

Partitioner编程Partition简介shuffle是通过分区partitioner 分配给Reduce的 一个Reducer对应一个记录文件Partitioner是shuffle的一部分p...
  • u013087513
  • u013087513
  • 2017-09-02 15:34:25
  • 1083

Parallel中分区器Partitioner的简单使用

Partitioner.Create(1,10,4).GetDynamicPartitions()为长度为10的序列创建分区,每个分区至多4个元素,分区方法及结果:Partitioner.Create...
  • fuyifang
  • fuyifang
  • 2015-05-01 20:54:16
  • 1761
收藏助手
不良信息举报
您举报文章:Mapreduce中的分区Partitioner
举报原因:
原因补充:

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