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 语法的主要内容,如果未能解决你的问题,请参考以下文章

java 1.8 新特性 stream

大数据Hadoop Streaming编程实战之C++PhpPython

Spark-Streaming hdfs count 案例

read ECONNRESET at TLSWrap.onStreamRead (internal/stream_base_commons.js:209:20) { errno: -4077(代码片段

hadoop streaming 中跑python程序,自定义模块的导入

Hadoop Streaming开发要点