hadoop streaming 语法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop streaming 语法相关的知识,希望对你有一定的参考价值。
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、参考资料
以上是关于hadoop streaming 语法的主要内容,如果未能解决你的问题,请参考以下文章
大数据Hadoop Streaming编程实战之C++PhpPython
read ECONNRESET at TLSWrap.onStreamRead (internal/stream_base_commons.js:209:20) { errno: -4077(代码片段