Hadoop streaming 排序、分桶参数设置

简介: 编写hadoop任务经常需要用到partition和排序。这里记录一下几个参数。1. 概念Partition:分桶过程,用户输出的key经过partition分发到不同的reduce里,因而partitioner就是分桶器,一般用平台默认的hash分桶也可以自己指定。

编写hadoop任务经常需要用到partition和排序。这里记录一下几个参数。

1. 概念

Partition:分桶过程,用户输出的key经过partition分发到不同的reduce里,因而partitioner就是分桶器,一般用平台默认的hash分桶也可以自己指定。
Key:是需要排序的字段,相同分桶&&相同key的行排序到一起。

2. 参数设置

在streaming模式默认中, hadoop会把map输出的一行中遇到的第一个设定的字段分隔符前面的部分作为key,后面的作为value,如果输出的一行中没有指定的字段分隔符,则整行作为key,value被设置为空字符串。streaming中默认字段分割符是tab

2.1 reduce收到数据内的排序(实际上在map结果数据落时候已经排序)

我们知道,一个reduce收到的数据是经过排序的。

如下设置,reduce收到的数据如何排序: 字段分割符是'.',按照前2个字段排序

stream.num.map.output.key.fields=2

stream.map.output.field.separator=.

2.2 map数据输出数据partition

我们知道可以指定partition参数使得符合条件的数据被后续的同一个reduce处理。

如下设置,指定字段分隔符是'.', 按照第一个字段进行pattition

map.output.key.field.separator=.

num.key.fields.for.partition=1

 

参考: http://www.dreamingfish123.info/?p=1102

 

相关文章
|
10月前
|
分布式计算 Hadoop Java
【Big Data】Hadoop--MapReduce经典题型实战(单词统计+成绩排序+文档倒插序列)
🍊本文使用了3个经典案例进行MapReduce实战🍊参考官方源码,代码风格较优雅🍊解析详细。
127 0
|
存储 机器学习/深度学习 分布式计算
Hadoop中的DataNode、工作机制、数据完整性、掉线时限参数设置
Hadoop中的DataNode、工作机制、数据完整性、掉线时限参数设置
Hadoop中的DataNode、工作机制、数据完整性、掉线时限参数设置
|
分布式计算 Hadoop Linux

热门文章

最新文章

相关实验场景

更多