Hadoop-Streaming参考二

上一篇文章介绍了Streaming的各种参数,本文具体介绍使用方法。

提交hadoop任务示例:

$HADOOP_HOME/bin/hadoop streaming \
-input /user/test/input -output /user/test/output \ 
-mapper “mymapper.sh” -reducer “myreducer.sh” \
-file/home/work/mymapper.sh \
-file /home/work/myreducer.sh \
-jobconf mapred.job.name=”file-demo” 

上面的命令提交了一个hadoop任务,输出和输入分别为 /user/test/output 和/user/test/input。 map程序为 mymapper.sh,reduce程序为myreducer.sh。这里需要注意一定要将这两个文件用-file分发到集群的节点上。最后一行指定了任务的名字。

还有一些较为复杂的使用,比如需要指定任务个数等,可以使用

-jobconf mapred.job.map.capacity=m -jobconf mapred.job.reduce.capacity=n 

上面的命令设置最多同时运行m个map任务,n个reduce任务,如果m或n为0或者没有指定,则对应的capacity没有限制,默认配置就是0没有限制。建议在运行作业时都设置map和reduce capacity,防止作业占用过多资源。

当然,这里只是简单介绍了最基本的用法,hadoop streaming还有很多高级使用方法,可一些很强大的排序指定功能,这里不再过多介绍,有需要的朋友可以给我留言进行询问,只要我遇到过的问题一定给出解决方案。如果运行时出现错误,可以参见我的另一篇文章参考hadoop错误码

你可能感兴趣的:(Hadoop-Streaming参考二)