更新时间:2024-08-05 GMT+08:00

配置Oozie MapReduce作业

功能描述

MapReduce任务节点,负责执行一个map-reduce任务。

参数解释

MapReduce Action节点中包含的各参数及其含义,请参见表1

表1 参数含义

参数

含义

name

map-reduce action的名称

resourceManager

MapReduce ResourceManager地址

name-node

HDFS NameNode地址

queueName

任务处理时使用的MapReduce队列名

mapred.mapper.class

Mapper类名

mapred.reducer.class

Reducer类名

mapred.input.dir

MapReduce处理数据的输入目录

mapred.output.dir

MapReduce处理后结果数据输出目录

mapred.map.tasks

MapReduce map任务个数

“${变量名}”表示:该值来自job.properties所定义。

例如:${nameNode}表示的就是“hdfs://hacluster”。(可参见配置Oozie作业运行参数

样例代码

<action name="mr-dataLoad">
     <map-reduce>
          <resource-manager>${resourceManager}</resource-manager>
          <name-node>${nameNode}</name-node>
          <prepare>
              <delete path="${nameNode}/user/${wf:user()}/${dataLoadRoot}/output-data/map-reduce"/>
          </prepare>
          <configuration>
              <property>
                  <name>mapred.job.queue.name</name>
                  <value>${queueName}</value>
              </property>
              <property>
                  <name>mapred.mapper.class</name>
                  <value>org.apache.oozie.example.SampleMapper</value>
              </property>
              <property>
                  <name>mapred.reducer.class</name>
                  <value>org.apache.oozie.example.SampleReducer</value>
              </property>
              <property>
                  <name>mapred.map.tasks</name>
                  <value>1</value>
              </property>
              <property>
                  <name>mapred.input.dir</name>
                  <value>/user/oozie/${dataLoadRoot}/input-data/text</value>
                </property>
                <property>
                    <name>mapred.output.dir</name>
                    <value>/user/${wf:user()}/${dataLoadRoot}/output-data/map-reduce</value>
                </property>
            </configuration>
        </map-reduce>
        <ok to="copyData"/>
        <error to="fail"/>
    </action>