博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop streaming 排序、分桶参数设置
阅读量:6955 次
发布时间:2019-06-27

本文共 705 字,大约阅读时间需要 2 分钟。

编写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

 

转载地址:http://botil.baihongyu.com/

你可能感兴趣的文章
eclipse luna使用jdk1.8初始化
查看>>
6-11-N皇后问题-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版
查看>>
HDU3336-Count the string(KMP)
查看>>
vijos P1352 最大获利(最小割)
查看>>
SVN Server配置详解 及备份
查看>>
常用API接口签名验证参考
查看>>
MultipartEntityBuilder.addTextBody 中文乱码
查看>>
ASP.NET页面传值加号变空格解决办法
查看>>
Tarjan算法
查看>>
Linux中find常见用法示例
查看>>
DWZ中Tree树形菜单的treeCheck如何获取返回值解决方案
查看>>
Qt::ConnectionType(信号与槽的传递方式)
查看>>
bootstrap 模态框动态加载数据
查看>>
Android应用程序进程启动过程(前篇)
查看>>
初始化构造函数中定义的实体集合,方便嵌套类型的遍历
查看>>
[转]说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
查看>>
Zygote进程【1】——Zygote的诞生
查看>>
深入理解css3中nth-child和 nth-of-type的区别
查看>>
Spring MVC学习笔记——引入静态文件
查看>>
MySQL慢查询Explain Plan分析
查看>>