Oozie: ¿Lanzar Mapa-Reducir desde la acción Ojazie <java>?

Estoy tratando de ejecutar una tarea Map-Reduce en un flujo de trabajo de Oozie usando un<java> acción.

O'Reilley'sApache Oozie (Islam and Srinivasan 2015) señala que:

Si bien no se recomienda, la acción de Java se puede utilizar para ejecutar trabajos de Hadoop MapReduce porque los trabajos de MapReduce no son más que programas de Java después de todo. La clase principal invocada puede ser un controlador Hadoop MapReduce y puede llamar a las API de Hadoop para ejecutar un trabajo MapReduce. En ese modo, Hadoop genera más mapeadores y reductores según sea necesario y los ejecuta en el clúster.

Sin embargo, no estoy teniendo éxito con este enfoque.

La definición de acción en el flujo de trabajo se ve así:

<java>
    <!-- Namenode etc. in global configuration -->
    <prepare>
      <delete path="${transformOut}" />
    </prepare>
    <configuration>
        <property>
            <name>mapreduce.job.queuename</name>
            <value>default</value>
        </property>
    </configuration>
    <main-class>package.containing.TransformTool</main-class>
    <arg>${transformIn}</arg>
    <arg>${transformOut}</arg>
    <file>${avroJar}</file>
    <file>${avroMapReduceJar}</file>
</java>

La implementación de la herramientamain() la implementación se ve así:

public static void main(String[] args) throws Exception {
    int res = ToolRunner.run(new TransformTool(), args);
    if (res != 0) {
        throw new Exception("Error running MapReduce.");
    }
}

El flujo de trabajo se bloqueará con la excepción "Error al ejecutar MapReduce" anterior cada vez;¿Cómo obtengo el resultado de MapReduce para diagnosticar el problema? ¿Hay algún problema al usar esto?Tool ejecutar una aplicación MapReduce? ¿Estoy usando las llamadas API incorrectas?

No estoy muy dispuesto a usar el Oozie<map-reduce> acción, ya que cada acción en el flujo de trabajo se basa en varios esquemas AVRO versionados por separado.

¿Cuál es el problema aquí? Estoy usando el 'nuevo'mapreduce API para la tarea.

Gracias por cualquier ayuda.

Respuestas a la pregunta(1)

Su respuesta a la pregunta