zoukankan      html  css  js  c++  java
  • 滴水穿石运行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;
            § 检查的输出目录是否存在(它不会被覆盖,会产生错误)。
     
     
     
  • 相关阅读:
    centos 7 快速安装 nload 流量工具
    centos 快速安装 fish
    OpenMetadata 开放标准的元数据服务
    xxljob 学习
    easy-rules facts 添加扩展数据
    easy-rules-centraldogma-spring-boot-starter 引入外部rule
    cube.js 基于queryRewrite 进行安全控制
    spring prototype bean 获取处理
    基于cloudevents+easy-rules+centraldogma 进行基于规则的业务开发
    mercurius 基于fastify 的graphql server 以及gateway 服务
  • 原文地址:https://www.cnblogs.com/nexiyi/p/2831611.html
Copyright © 2011-2022 走看看