hadoop - 在 Oozie 中为 Map-Reduce 作业指定驱动程序

标签 hadoop mapreduce oozie

<workflow-app xmlns='uri:oozie:workflow:0.1' name='map-reduce-wf'>
    <start to='wordcount'/>

    <action name='wordcount'>
        <map-reduce>
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
                 <property>
                    <name>mapred.input.dir</name>
                    <value>${inputDir}</value>
                </property>
                <property>
                    <name>mapred.output.dir</name>
                    <value>${outputDir}</value>
                </property>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
                <property>
                    <name>mapred.reduce.tasks</name>
                    <value>${numberofReducers}</value>
                </property>
                <property>
                    <name>mapred.reducer.new-api</name>
                    <value>true</value>
                </property>
                <property>
                    <name>mapred.mapper.new-api</name>
                    <value>true</value>
                </property>
            </configuration>
        </map-reduce>
        <ok to="end"/>
        <error to="fail"/>
    </action>
    <kill name="fail">
        <message>Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name='end'/>
</workflow-app>

我正在尝试使用 Oozie 运行 map-reduce 作业。谁能告诉我如何在 workflow.xml 中指定驱动程序? {Oozie 如何知道要运行哪个 Mapper 和 Reducer?}

是否可以在不指定以下属性的情况下完成此操作:

<property>
    <name>mapred.mapper.class</name>
    <value></value>
</property>
<property>
    <name>mapred.reducer.class</name>
    <value>org.myorg.WordCount.Reduce</value>
</property>

最佳答案

Oozie 需要被告知要运行哪个 mapper/reducer,否则有什么用?如果您不希望将其包含在实际工作流程中,您可以通过“job-xml”配置将其提交到 xml 文件中。请参阅以下内容:

http://oozie.apache.org/docs/4.0.0/WorkflowFunctionalSpec.html#a4.1_Workflow_Job_Properties_or_Parameters http://oozie.apache.org/docs/4.0.0/WorkflowFunctionalSpec.html#a3.2.2_Map-Reduce_Action

请注意,以后的值会覆盖以前的值。意思是,如果你有 mapred.reducer.class 配置两次,最后一个条目将是最终被使用的条目。

关于hadoop - 在 Oozie 中为 Map-Reduce 作业指定驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30854165/

相关文章:

hadoop - Ambari-Update失败(Ambari 2.4到2.6)-Hadoop服务将不再启动

java - Hadoop:java.lang.Exception:java.lang.RuntimeException:配置对象时出错

hadoop - 如何从 Oozie 中的配置单元操作中更新行数

hadoop - Oozie 作业卡在运行状态

hadoop - GCE Hadoop 工作节点上的 reducer 插槽数量是多少?

hadoop - Sqoop 以 avro 格式导入日期数据类型

hadoop - 为什么视频是大数据背景下的非结构化数据?

hadoop - 映射器将值传递给不同的映射器-缩减器

hadoop - Hadoop 中没有 Reducer 的组合器

scala - oozie Spark 2.0 操作给出异常 : java. lang.NoClassDefFoundError: org/apache/spark/internal/Logging