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

 

相关文章
|
7月前
|
存储 分布式计算 资源调度
hadoop配置文件参数
hadoop配置文件参数【2月更文挑战第13天】
187 6
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
66 2
|
5月前
|
分布式计算 Hadoop Java
|
5月前
|
数据采集 分布式计算 资源调度
|
5月前
|
分布式计算 Hadoop Java
hadoop环境变量设置问题
【7月更文挑战第15天】
223 11
|
5月前
|
分布式计算 Java Hadoop
Hadoop找到JAVA_HOME变量,并设置其值
【7月更文挑战第19天】
160 3
|
5月前
|
数据采集 分布式计算 Hadoop
|
6月前
|
存储 分布式计算 Hadoop
|
7月前
|
存储 分布式计算 监控
Hadoop节点设置考虑因素
【5月更文挑战第21天】
60 1
|
7月前
|
分布式计算 Hadoop 测试技术

相关实验场景

更多