Hadoop streaming脚本中约束关系参数详解
1 -D mapred.output.key.comparator.class=org.apache.hadoop.mapred.lib.KeyFieldBasedComparator \
2 -D stream.map.output.field.separator=, / # 指定mapper每条输出key,value分隔符
3 -D stream.num.map.output.key.fields=4 / #指定前四列为key,之后为value(所以在partition过程中,以前4个字段为key)
4 -D mapred.text.key.comparator.options="-k1,1 -k4,4" \
5 -D map.output.key.field.separator=, \#设置map输出中,Key内部的分隔符,为接下来reduce的分桶做准备
6 -D num.key.fields.for.partition=2 / #这里是指定按照前二列进行分桶(
事实上KeyFieldBasePartitioner还有一个高级参数mapred.text.key.partitioner.options,这个参数可以认为是num.key.fields.for.partition的升级版,它可以指定不仅限于key中的前几个字段用做partition,而是可以单独指定key中某个字段或者某几个字段一起做partition。)
注意mapred.text.key.partitioner.options和num.key.fields.for.partition不需要一起使用,一起使用则以num.key.fields.for.partition为准。
7 -partitioner org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner / #自己指定分桶规则时需要指定partitioner类
其中:
- 1,2,3,4通常是一组,用来指定map输入时的key和按那几个key排序,个人理解,要按键排序时,必须要加上第一个参数,此外若要按key3排序,则fields至少等于3 ,此时若不指定分桶key,则以前三个fields为key进行分桶;
- 若要指定key的哪几个字段作为分桶的key,则再通过设置5,6,7是一组,用来指定map输出后用哪个key作为粪桶key(不好意思,是分桶!^_^)
(注意,这里有两个separator分隔符,第一个时map输出key_value的分隔符(map输出数据中的整体数据),第二个是map输出后指定的key内部的分隔符)
参考 https://blog.csdn.net/baidu_zhongce/article/details/49210787?utm_source=blogxgwz3
Hadoop streaming脚本中约束关系参数详解的更多相关文章
- gvoory脚本中关于HttpClient使用详解实例
一.gvoory脚本中关于HttpClient使用详解实例 HttpClient:是一个接口 首先需要先创建一个DefaultHttpClient的实例 HttpClient httpClient=n ...
- 【通信】JDK中的URLConnection参数详解
JDK中的URLConnection参数详解 来自:http://www.blogjava.net/supercrsky/articles/247449.html 针对JDK中的URLConnecti ...
- Linux中mpstat命令参数详解
Linux中mpstat命令参数详解 mpstat 是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在 /proc/stat ...
- JQuery中$.ajax()方法参数详解 及 async属性说明
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...
- Monkey中ADB命令参数详解
Monkey命令行可用的全部选项: --help列出简单的用法.-v命令行的每一个-v将增加反馈信息的级别.Level 0(缺省值)除启动提示.测试完成和最终结果之外,提供较少信息.Level 1提供 ...
- ajax中error函数参数详解
xhr.status和error函数中的status是不一样的,error函数中的status主要包括:"success"."notmodified".&quo ...
- Webpack中SplitChunksPlugin 配置参数详解
代码分割本身和 webpack 没有什么关系,但是由于使用 webpack 可以非常轻松地实现代码分割,所以提到代码分割首先就会想到使用 webopack 实现. 在 webpack 中是使用 Spl ...
- ASP.NET 中 OutputCache 指令参数详解
使用@ OutputCache指令使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要.@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明.这种方式非常 ...
- JQuery中$.ajax()方法参数详解
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...
随机推荐
- python3 range 倒序
话不多说上代码,要求简单,从100到1遍历操作. //第三个参数表示的是100所有进行的操作,每次加上-1,直到0 for i in range(100,0,-1): print(i)
- Unity5-ABSystem(三):AssetBundle加载
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lodypig/article/detai ...
- 初学android小笔记(一)
一:应用外观基础设置 (1)去掉标题栏:打开Android Manifest文件,将theme如下设置 (2)改应用图标:将icon指定图片改为想要的app图标即可 (3)改应用名字: 在Manife ...
- ABAP中将Unicode字符串转换成中文的方法
以下为示例代码: DATA: LV_UNICODE TYPE STRING, "Unicode字符串 LV_CHINESE TYPE STRING. ...
- 真正的打包scrapy单文件(不包含cfg)
前置:https://www.cnblogs.com/luocodes/p/11827850.html 解决最后一个问题,如何将scrapy真正的打包成单文件 耗了一晚上时间,今天突然有灵感了 错误分 ...
- vue-snippet-模板
"template": { "prefix": "template", "body": [ "<temp ...
- 关于laravel框架Model返回的值为stdClass对象转换两种方法
一般情况下laravel模型层查询出来的数据是stdClass对象,无法直接当做数组进行视图展示,所以需要转换为数组格式. Model中查到的数据为 $data ,对它进行转化,转化为数组. 第一 ...
- Salesforce学习之路(十三)Aura案例实战分析
Aura相关知识整合: Salesforce学习之路(十)Aura组件工作原理 Salesforce学习之路(十一)Aura组件属性<aura:attribute /> Salesforc ...
- Python3.7.1学习(五) 将列表中的元素转化为数字并排序
# 本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: # 有一个数字字符的列表: numbers = ['2', '4', '1', '3']print(numbe ...
- python 抓取youtube教程
前言: 相信大家很多人都看过youtube网站上的视频,网站上有很多的优质视频,清晰度也非常的高,看到喜欢的想要下载到本地,虽然也有很多方法,但是肯定没有python 来的快, 废话不多说,上代码: ...