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、参考资料



本文转自 巴利奇 51CTO博客,原文链接:http://blog.51cto.com/balich/2065419
相关文章
|
4月前
|
SQL 存储 大数据
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
74 0
|
分布式计算 Hadoop Shell
Hadoop中HDFS的Shell操作(开发重点)、启动Hadoop集群、基本语法、常用命令实操、命令大全、-help、-mkdir、-moveFromLocal、-copyFromLocal
Hadoop中HDFS的Shell操作(开发重点)、启动Hadoop集群、基本语法、常用命令实操、命令大全、-help、-mkdir、-moveFromLocal、-copyFromLocal
Hadoop中HDFS的Shell操作(开发重点)、启动Hadoop集群、基本语法、常用命令实操、命令大全、-help、-mkdir、-moveFromLocal、-copyFromLocal
|
SQL 存储 分布式计算
入门级大数据Hadoop、Hive常用操作语法sql工作整理
  大数据概念入门:   Hadoop分布式文件系统,HDFS是一个高度容错性的系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。 HDFS不适合用在:要求低时间延迟数据访问的应用,存储大量的小文件,多用户写入,任意修改文件。   1.客户把一个文件存入HDFS,其实HDFS会把这个文件切块后,分散存储在N台linux机器系统中(data node)2.记录用户的每一个文件的切块信息,及每一块的具体存储机器(name node)总结:一个HDFS系统,可由一台运行了namenode的服务器,和N台运行了datanode的服务器组成!
197 0
|
分布式计算 Hadoop 流计算
Hadoop streaming 排序、分桶参数设置
编写hadoop任务经常需要用到partition和排序。这里记录一下几个参数。 1. 概念 Partition:分桶过程,用户输出的key经过partition分发到不同的reduce里,因而partitioner就是分桶器,一般用平台默认的hash分桶也可以自己指定。
2464 0
|
分布式计算 Hadoop Linux
|
分布式计算 Java Hadoop