当前位置: Oracle DBA培训网-优技培训 >> Hadoop大数据 > Hadoop培训教程 >

Hadoop大数据教程:基于Pipes实现作业提交

Hadoop大数据教程:基于Pipes实现作业提交

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

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙