Hadoop:基于Pipes实现作业提交

来源:互联网 发布:手机淘宝上架图片尺寸 编辑:程序博客网 时间:2024/06/07 03:02

Hadoop入门教程:基于Pipes实现作业提交,在提交Hadoop Pipes作业之前首先需要将编译好的Pipes可执行程序上传到HDFS上。例如,我们将编译好的词频统计程序wordcount-simple上传到HDFS上的/user/nuoline/wordcount/bin目录下,如果wordcount-simple可执行程序就在当前目录下,则使用以下命令:

Hadoop fs -put wordcount-simple /user/nuoline/wordcount/bin

然后使用Hadoop Pipes命令提交作业到Hadoop集群,提交命令如下:

Hadoop pipes \

-D Hadoop.pipes.java.recordreader=true \

-D Hadoop.pipes.java.recordwriter=true \

-D MapRed.job.name= wordcount \

-input /user/nuoline/wordcount/test_input \

-output /user/nuoline/wordcount /test_output \

-program /user/nuoline/wordcount/bin/wordcount-simple

Hadoop Pipes命令的参数说明,如表2-2所示。

 

 

当然,如果用户需要自定义的Hadoop参数很多,还可以直接写成xml格式的配置文件,然后通过conf参数选项进行指定。例如可以在本地当前目录下建立一个wordcount_conf.xml文件,在此文件中指定相关Hadoop参数,执行代码如下:

<?xml version="1.0"?>
<conf?iguration>
  <property>
    // Set the binary path on HDFS
    <name>Hadoop.pipes.executable</name>
    <value>/user/nuoline/wordcount/bin/wordcount-simple</value>
  </property>
  <property>
    <name>Hadoop.pipes.java.recordreader</name>
    <value>true</value>
  </property>
  <property>
    <name>Hadoop.pipes.java.recordwriter</name>
    <value>true</value>
  </property>
</conf?iguration>

然后通过Pipes命令的conf参数指定这个配置文件一起提交作业,执行命令如下:

hadoop pipes \

-conf /wordcount_conf.xml

-input /user/nuoline/wordcount/test_input

-output /user/nuoline/wordcount /test_output

来源:CUUG官网

0 0
原创粉丝点击