Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10326915
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: HADOOP

2013-11-29 11:43:20

 hadoop 各类key value分隔符参数
分类: hadoop 收藏 2012-04-15 21:40 438人阅读 评论(0) 收藏 举报
hadoopcoutputinput
原文地址:http://wingmzy.iteye.com/blog/1260570


hadoop中的map-reduce是处理这样的键值对,故指定的分割符等参数可以分成三类:


map输出时分割符


分桶时的分隔符


reduce输出时的分割符






下面分别叙述:


1. map输出时分割符


参数:


stream.map.output.field.separator


作用:


指定map输出时的分割符


stream.num.map.output.key.fields


指定输出按照分隔符切割后,key所占有的列数






举例:


input数据:


2,2,c,c,c,c


参数配置:


-mapper "cat" # map 为分布式的cat命令


-reducer ""  #reduce为空 /


-jobconf stream.map.output.field.separator=','  /


-jobconf stream.num.map.output.key.fields=2 /


即按照','逗号分隔后,去前2列作为key


output数据:


2,2     c,c,c,c  #其中key为2,2  value为c,c,c,c






2. 分桶时的分隔符


map.output.key.field.separator


指定map输出对之后,其中key内部的分割符


num.key.fields.for.partition


指定分桶时,按照分隔符切割后,用于分桶key所占的列数






举例:


map的output数据:


2,2     c,c,c,c


参数配置:
-jobconf map.output.key.field.separator=',' /
-jobconf num.key.fields.for.partition='1'   /
-partitioner org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner /


output数据:


这样用于partition分桶的key就为:2


注意,这里分桶不应该用默认的HashPartitioner






3. reduce输出时的分割符


这个与map类似,分别用于reduce输出时分隔符以及key占有的列数


stream.reduce.output.field.separator


stream.num.reduce.output.key.fields
阅读(1526) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~