Desarrollo de flujos de trabajo oozie en hadoop
Flujos de trabajo oozie son, en su núcleo, dirigidas gráficos, donde se puede definir acciones (aplicaciones Hadoop) y el flujo de datos, pero sin looping - lo que significa que no se puede definir una estructura en la que desea ejecutar una operación específica y otra vez hasta algunos condición se cumple (un bucle, por ejemplo).
Flujos de trabajo oozie son bastante flexible ya que puede definir las decisiones basadas en condiciones y caminos bifurcados para la ejecución en paralelo. También puede ejecutar una amplia gama de acciones.
En esta figura, se ve un flujo de trabajo que muestra las capacidades básicas de los flujos de trabajo oozie. En primer lugar, una secuencia de comandos de cerdo se ejecuta, y es seguida inmediatamente por un árbol de decisión. Dependiendo del estado de la salida, el flujo de control puede o bien ir directamente a un HDFS (Hadoop Distributed File System) operación de archivo (por ejemplo, una operación de copyToLocal) o para una acción de tenedor.
Si el flujo de control pasa a la acción tenedor, dos trabajos se ejecutan al mismo tiempo: un trabajo MapReduce, y una consulta Colmena. El flujo de control se dirige a la operación HDFS vez tanto el trabajo MapReduce y consulta Colmena terminado de ejecutar. Después de la operación HDFS, el flujo de trabajo se haya completado.
Las definiciones de flujo de trabajo Oozie están escritos en XML, basado en el esquema de Hadoop Proceso Definition Language (HPDL). Este esquema particular es, a su vez, basado en el XML Process lenguaje de definición de esquema (XPDL), que es un estándar independiente del producto para las definiciones de procesos de negocio del modelaje.
Un flujo de trabajo Oozie se compone de una serie de acciones, que están codificados por los nodos XML. Hay diferentes tipos de nodos, que representan a los diferentes tipos de acciones o directivas de control de flujo. Cada flujo de trabajo Oozie tiene su propio archivo XML, donde se definen todos los nodos y sus interconexiones.
Nodos de flujo de trabajo, requieren identificadores únicos porque están acostumbrados a identificar el siguiente nodo para ser procesado en el flujo de trabajo. Esto significa que el orden en que se ejecutan las acciones depende de donde nodo de una acción aparece en el XML de flujo de trabajo. Para ver cómo este concepto se vería, echa un vistazo a la siguiente lista, que muestra un ejemplo de la estructura básica del archivo XML de un flujo de trabajo Oozie.
... ... "Trabajo Killed".
En este ejemplo, a un lado desde el principio, fin, y matar a los nodos, tiene dos nodos de acción. Cada nodo de acción representa una aplicación o un comando en ejecución.