hadoop streaming 語法
阿新 • • 發佈:2018-01-26
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
$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 語法