Hadoop Streaming的一些基本知識
阿新 • • 發佈:2019-02-06
Hadoop streaming框架預設情況下會以'\t'作為分隔符,將每行第一個'\t'之前的部分作為key,其餘內容作為value,如果沒有'\t'分隔 符,則整行作為key;這個key\tvalue對又作為reduce的輸入。hadoop 提供配置供使用者自主設定分隔符。
-D stream.map.output.field.separator \#設定map輸出中key和value的分隔符
-D stream.num.map.output.key.fields \#設定map程式分隔符的位置,該位置之前的部分作為key,之後的部分作為value
-D map.output.key.field.separator \#設定map輸出中key內部的分割符
-D num.key.fields.for.partition \#指定分桶時,key按照分隔符切割後,其中用於分桶key所佔的列數(配合-partitioner org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner
使用)
-D stream.reduce.output.field.separator \#設定reduce輸出中key和value的分隔符
-D stream.num.reduce.output.key.fields #設定reduce程式分隔符的位置
-D stream.map.output.field.separator \#設定map輸出中key和value的分隔符
-D stream.num.map.output.key.fields \#設定map程式分隔符的位置,該位置之前的部分作為key,之後的部分作為value
-D map.output.key.field.separator \#設定map輸出中key內部的分割符
-D num.key.fields.for.partition
-D stream.reduce.output.field.separator \#設定reduce輸出中key和value的分隔符
-D stream.num.reduce.output.key.fields #設定reduce程式分隔符的位置