滴水穿石--运行Pydoop程序

运行Pydoop程序

         Pydoop程序和其他的hadoop pipes应用程序一样,都需要一个工作的Hadoop集群,如果没有的话,你可以参考安装一个单机模式的Hadoop集群,将Hadoop集群配置成一个伪分布式模式,然后开启必须的守护进程。
       pipes 命令行模式如下所示:
            ${HADOOP_HOME}/bin/hadoop pipes -conf conf.xml -input input -output output
        input path 和 output 分别是Hadoop的上你的应用程序需要访问的输入数据路径和结果输出路径。从本地读入程序的配置文件,配置文件是一个如下所示的由键值对组成的XML文件.
<?xml version="1.0"?>
<configuration>
 
<property>
  <name>hadoop.pipes.executable</name>
  <value>app_executable</value>
</property>
 
<property>
  <name>mapred.job.name</name>
  <value>app_name</value>
</property>
 
<property>
  <name>hadoop.pipes.java.recordreader</name>
  <value>true</value>
</property>
 
<property>
  <name>hadoop.pipes.java.recordwriter</name>
  <value>true</value>
</property>
 
[...]
 
</configuration>

 

配置文件说明如下:
hadoop.pipes.executable:
        python程序的路径,指的是在HDFS上的绝对或者相对home路径,故运行前,需要将编写好的程序上传到HDFS上。
mapred.job.name:
        仅是您的应用程序的一个标识。它会出现在的MapReduce的Web界面,它将会被附加到作业的日志文件中。
hadoop.pipes.java.recordreader and  hadoop.pipes.java.recordwriter:
        这些剩下的两个属性必须设置为true,除非您需要使用的是自己的自定义的RecordReader/ RecordWriter。
        在配置文件中,您还可以设置应用其他程序特定的属性,它们的值将是可以在运行时加入JobConf对象。有关详细信息,请参阅其文档。 最后,可以包括Hadoop的 一般 属性(例如,mapred.reduce.tasks)。 Hadoop的文件的列表,可用的属性和它们的含义。
 
注意:
        还可以通过命令行模式配置,使用 -D property.name=value语法 ,这个可以很方便的临时覆盖某个参数值。
 
在运行应用程序之前,你需要执行以下步骤:
         §  上传应用程序和输入文件或目录到HDFS;
         §  准备XML配置文件中,也可以使用程序命令行的选项参数如:-program my_lancher 来设置应用程序的路径来hadoop.pipes.executable my_launcher;
         §  检查的输出目录是否存在(它不会被覆盖,会产生错误)。
 
 
 

转载于:https://www.cnblogs.com/nexiyi/archive/2012/12/24/2831611.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值