1. 程式人生 > >hadoop streaming 語法

hadoop streaming 語法

capacity hdfs 壓縮 ups har 格式 -o art str

1、hadoop streaming 命令格式
$HADOOP_HOME/bin/hadoop jar hadoop-streaming.jar     -D mapred.job.name="streaming_wordcount"     -D mapred.map.tasks=3     -D mapred.reduce.tasks=3     -D mapred.job.priority=3     -input /input/     -output /output/     -mapper python mapper.py     -reducer python reducer.py     -file ./mapper.py     -file ./reducer.py
  • 參數說明

    • mapred.job.name:作業名稱
    • mapred.map.tasks:map任務數量
    • mapred.reduce.tasks:reduce任務數量
    • mapred.job.priority:作業優先級
    • -input:在HDFS上的作業輸入路徑,支持通配符,支持多個文件
    • -output:在HDFS上的作業結果輸出路徑
    • -mapper:mapper可執行程序或Java類
    • -reducer:reducer可執行程序或Java類
    • -file:分發本地文件
  • 註:在hadoop2.x版本中,hadoop-streaming.jar 程序存放在$HADOOP_HOME/share/hadoop/tools/lib
    目錄下;在hadoop1.x版本中,hadoop-streaming.jar程序存放在$HADOOP_HOME/contrib/streaming目錄下

2、hadoop streaming 常用參數

  • hadoop streaming 參數
參數 說明
-input <path> 輸入數據路徑
-output <path> 輸出數據路徑
-mapper <cmd/JavaClassName> mapper可執行程序或Java類
-reducer <cmd/JavaClassName> reducer可執行程序或Java類
-file <file> Optional 分發本地文件
-cacheFile <file> Optional 分發HDFS文件
-cacheArchive <file> Optional 分發HDFS壓縮文件
-numReduceTasks <num> Optional reduce任務個數
-jobconf -D NAME=VALUE Optional 作業配置參數
-combiner <JavaClassName> Optional Combiner Java類
-partitioner <JavaClassName> Optional Partitioner Java類
-inputformat <JavaClassName> Optional InputFormat Java類
-outputformat <JavaClassName> Optional OutputFormat Java類
-inputreader <spec> Optional InputReader配置
-cmdenv <n>=<v> Optional 傳給mapper和reducer的環境變量
-mapdebug <path> Optional mapper失敗時運行的debug程序
-reducedebug <path> Optional reducer失敗時運行的debug程序
-verbose Optional 詳細輸出模式
  • -jobconf -D NAME=VALUE Optional作業參數說明
作業參數 作業參數說明
mapred.job.name 作業名
mapred.job.priority 作業優先級
mapred.job.map.capacity 最多同時運行map任務數
mapred.job.reduce.capacity 最多同時運行reduce任務數
hadoop.job.ugi 作業執行權限
mapred.map.tasks map任務個數
mapred.reduce.tasks reduce任務個數
mapred.job.groups 作業可運行的計算節點分組
mapred.task.timeout 任務沒有響應(輸入輸出)的最大時間
mapred.compress.map.output map的輸出是否壓縮
mapred.map.output.compression.codec map的輸出壓縮方式
mapred.output.compress reduce的輸出是否壓縮
mapred.output.compression.codec reduce的輸出壓縮方式
stream.map.output.field.separator map輸出分隔符

3、參考資料

  • https://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/HadoopStreaming.html

hadoop streaming 語法