Hadoop Streaming

參考鏈接:https://zhuanlan.zhihu.com/p/34903460
https://blog.csdn.net/frankie110/article/details/38274965
https://www.cnblogs.com/duking1991/p/6077110.html

hadoop常用的參數(shù)總結(jié)

-D mapred.job.priority="NORMAL"

任務(wù)的優(yōu)先級 `VERY_HIGH  HIGH    NORMAL     LOW    VERY_LOW`
-D mapred.job.name=jobname 指定作業(yè)名稱
-D mapred.map.tasks=numofmap 每個Job運行map task的數(shù)量
-D mapred.reduce.tasks=numofreduce 每個Job運行reduce task的數(shù)量,
如果指定為 0,則意味著提交了一個map only的任務(wù)

分隔符參數(shù)設(shè)置

hadoop中的map-reduce是處理<key,value>這樣的鍵值對,故指定<key,value>的分割符等參數(shù)可以分成三類:

1、map輸出時分割符

2、分桶時的分隔符

3、reduce輸出時的分割符

1. map輸出時分割符 

參數(shù): stream.map.output.field.separator 

作用: 指定map輸出時的分割符 

stream.num.map.output.key.fields 

指定輸出按照分隔符切割后,key所占有的列數(shù) 

(設(shè)置map程序分隔符的位置,該位置之前的部分作為key,之后的部分作為value)

Example

input數(shù)據(jù):  2,2,c,c,c,c 

參數(shù)配置: 

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

-reducer ""  #reduce為空 / 

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

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

即按照','逗號分隔后,取前2列作為key 

output數(shù)據(jù): 

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

2、分桶時的分隔符

map.output.key.field.separator 

指定map輸出<key,value>對之后,其中key內(nèi)部的分割符 

num.key.fields.for.partition 

指定分桶時,按照分隔符切割后,用于分桶key所占的列數(shù) 

Example

map的output數(shù)據(jù): 2,2     c,c,c,c 

參數(shù)配置: 
-jobconf map.output.key.field.separator=',' / 
-jobconf num.key.fields.for.partition='1'   / 
-partitioner org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner / 

output數(shù)據(jù): 

這樣用于partition分桶的key就為:2 

注意,這里分桶不應(yīng)該用默認(rèn)的HashPartitioner 
-D num.key.fields.for.partition 

指定分桶時,key按照分隔符切割后,其中用于分桶key所占的列數(shù)(配合-partitionerorg.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner 使用)
  1. reduce輸出時的分割符
這個與map類似,分別用于reduce輸出時分隔符以及key占有的列數(shù) 

stream.reduce.output.field.separator 

stream.num.reduce.output.key.fields
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容