Développement de workflows oozie dans Hadoop

Workflows oozie sont, à leur base, graphes orientés, où vous pouvez définir des actions (applications Hadoop) et les flux de données, mais sans bouclage - ce qui signifie que vous ne pouvez pas définir une structure où vous souhaitez exécuter une opération spécifique encore et encore jusqu'à un certain condition est remplie (pour une boucle, par exemple).

Workflows oozie sont assez souples en ce que vous pouvez définir des décisions basées sur les conditions et les chemins fourchues pour l'exécution en parallèle. Vous pouvez également exécuter un large éventail d'actions.

image0.jpg

Dans cette figure, vous voyez un flux de travail montrant les capacités de base de workflows oozie. Tout d'abord, un script de porc est exécuté, et est immédiatement suivie d'un arbre de décision. Selon l'état de la sortie, le flux de contrôle peut soit aller directement à un HDFS (Distributed File System Hadoop) opération de fichier (par exemple, une opération copyToLocal) ou à une action de la fourche.

Si le flux de contrôle passe à l'action de la fourche, deux tâches sont exécutées en même temps: un travail de MapReduce, et une requête Hive. Le flux de contrôle passe alors à l'opération HDFS la fois le travail de MapReduce et Hive requête sont fini de tourner. Après l'opération HDFS, le flux de travail est terminée.

Oozie définitions de workflow sont écrits en XML, basé sur le schéma Hadoop Process Definition Language (HPDL). Ce schéma particulier est, à son tour, sur la base du XML Process Definition Language (XPDL) schéma, qui est une norme de produit indépendant pour les définitions des processus d'affaires de la modélisation.

Un flux de travail oozie est composé d'une série d'actions, qui sont codées par des noeuds XML. Il existe différents types de nœuds, représentant les différents types de mesures ou directives de contrôle de flux. Chaque flux de travail oozie a son propre fichier XML, où chaque nœud et ses interconnexions sont définies.

Nœuds de workflow nécessitent tous des identificateurs uniques parce qu'ils sont utilisés pour identifier le noeud suivant à traiter dans le workflow. Cela signifie que l'ordre dans lequel les actions sont exécutées dépend où le noeud apparaît une action dans le flux XML. Pour voir comment ce concept aurait l'air, consulter la liste suivante, qui montre un exemple de la structure de base du fichier XML de un workflow oozie.

......"Tué travail."

Dans cet exemple, mis à part le début, la fin, et de tuer les noeuds, vous avez deux noeuds d'action. Chaque noeud d'action représente une application ou une commande en cours d'exécution.


» » » » Développement de workflows oozie dans Hadoop