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

时间:2015-06-15 20:11:58

标签: 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中指定Driver程序? {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>

1 个答案:

答案 0 :(得分:0)

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配置了两次,则最后一个条目将是最终使用的条目。