Le Oozie pour planifier vos flux d’exécution en Big Data !
Bienvenue au monde de Big Data !
L’environnement Big Data est très varié ! Donc on va se contenter aujourd'hui de présenter quelques projets phares en relation avec Big Data en général et avec Hadoop en particulier.
Découvrons ensemble l’écosystème de Big Data !
Commençons par le Hadoop 👉 GO...
Ce noyau dur de la solution Big Data est composé de deux éléments essentiels :
- HDFS / Hadoop Distributed File System au niveau duquel les données sont stockées.
- La couche qui se trouve au-dessus de HDFS : YARN map Reduce v2 qui est décomposée en YARN (un gestionnaire de cluster Hadoop) et le map Reduce v2 (un modèle de concept permettant de manipuler des grandes quantités de données).
Ce modèle connait un vif succès auprès des sociétés possédant d’importants centres de traitement de données tels que Amazon et Facebook.
Les outils d’importation des données sont le Flume et le Sqoop
✨ Je vous cite aussi quelques composants en relation avec le Hadoop !
- Le Zookeeper coordination qui est un logiciel de configuration des systèmes distribués.
- Le Ambari qui est un logiciel permettant aux administrateurs de provisionner et de superviser un cluster Hadoop. Il est essentiellement utilisé pour intégrer Hadoop à une infrastructure donnée d’une entreprise existante.
- Le R connectors : C'est un package R qui fournit une interface entre l’environnement local et Hadoop.
- Le Spark qui est un Framework open source de calcul distribué. Il est en fait un ensemble d’outils de composants de logiciels structurés selon une architecture définie pour traiter les données en mémoire.
- Le Storm qui est ultra-rapide, évolutif, tolèrent aux pannes, garantit le traitement des données et facile à configurer et à utiliser.
- Il présente de nombreux cas d’utilisation tels que l’analyse en temps réel, le calcul en continu, le Rpc distribué…etc
- Le Oozie : C'est un planificateur de workflow qui permet de donner les tâches d’importation envers le HDFS et permet également de notifier le HDFS en termes de fichiers importés et exportés.
- Le Pig qui est un environnement script de requêtage des données issues de Map reduce.
- Le Hive qui est aussi un environnement de requêtage des données issues de Hadoop.
On va partir sur les détails de Oozie 👉 GO...
Avant de présenter Oozie, on va énumérer trois situations pour comprendre mieux son rôle.
1ère situation : 3 lignes d’exécution des tâches d’importation des données vers un cluster Hadoop.
❎ La règle conditionnelle imposée : Présenter le job 2 au niveau du cluster Hadoop avant le job 6 au niveau de la ligne 1 étant donné que le rythme d’exécution au niveau de la ligne 1 est de loin supérieur que celui de la ligne 2.
Problématique : Dans ce cas là qui va assurer le respect de cette règle d’exécution ?
2ème situation : 3 lignes d’exécution des tâches d’importation des données vers un cluster Hadoop.
❎ Règles conditionnelle imposée :
- L’exécution du job 5 au niveau de la ligne 1 doit se faire exactement à 01h50min.
- L’exécution du job 3 au niveau de la ligne 2 doit se faire exactement 07h15.
- L’exécution du job 4 au niveau de la ligne 3 doit se faire exactement à 04h00.
Problématique : Dans ce cas, qui va assurer le respect de cette contrainte temporelle imposée au niveau des 3 lignes ?
3ème situation : Au niveau de la première ligne, on va supposer que le job 6 de la ligne 1 produit un output (Des fichiers, des modifications au niveau des bases de données…etc).
❎ Règle conditionnelle imposée : L’output produit soit pris en amant au niveau de job 3 de la ligne 2
Problématique : Qui va orchestrer cette manœuvre ?
Prenez votre de temps pour répondre…
Vous allez certainement me dire que le map Reduce peut assurer ça !
Alors que ce n’est pas la bonne réponse ! 😉
Parce que d’une part le map Reduce existe au niveau du cluster et non pas au niveau de la phase d’importation des données et d’autre part la map Reduce n’a pas cette notion d’orchestration.
Il a deux tâches bien déterminées qui sont map et Reduce. D’où la nécessité d’un composant se situant en amant du cluster Hadoop et qui assure cette orchestration et le respect des règles d’exécution imposées.
La bonne réponse c’est
Oozie est en fait un système de planification qui permet d’exécuter et de gérer des tâches Hadoop dans un environnement distribué. Il permet de combiner plusieurs tâches complexes dans un ordre séquentiel pour accomplir une tâche plus importante.
Oozie va donc assurer l’orchestration en parallèle de l’exécution de ces diverses tâches qui sont présentées au niveau des 3 lignes.
L’un des principaux avantages d’Oozie c’est qu’il est étroitement intégré à la pile Hadoop prenant en charge les diverses tâches Hadoop tels que Hive, Pig, Scoop…etc ainsi que des tâches spécifiques au système tels que les tâches Java.
Les JOB ?
Ce sont trois types essentiels :
Comment éditer des Workflows ?
Il est possible de créer des Worklows à travers de :
1. L’interface HUE
2. Un Plugin installé au niveau d’Eclipse : Oozie Eclipse Plugin ou OEP.
3. Entant que des fichiers .xml
Quels sont les composants de JOB ?
Un JOB ou un Workflow Oozie est composé de deux principaux éléments qui sont :
L’Action Nodes : Peuvent être des actions de type Pig, Hive, map Reduce, Java…etc)
Les Control Nodes : Représentant l’état du Workflow à l’instant t tels que Start, Fork, Join, Decision, et End.
👉 On passe à traiter ensemble par la suite un exemple de flux d’exécution ou de Workflow Oozie :
Le Workflow débute par le nœud du contrôle Start qui va lancer un nœud d’action de type Java, puis passe par la prise de décision dont le chemin diffère selon le choix de l’exécution du map Reduce ou Pig.
Si le workflow passe par le map Reduce, on arrive à enregistrer les données au niveau du HBASE ET au niveau du HDFS grâce au nœud Fork qui permet de diriger le flux d’exécution vers plusieurs directions.
Si le flux d’exécution tourne vers le Pig, le résultat engendré sera join avec celui du map Reduce situé en aval du HDFS grâce au nœud de contrôle Join. Le résultat issu va être par la suite traité au niveau du nœud d’action Java et le End va marquer la fin de ce Workflow.
Formation Big Data en ligne - SmartnSkilled.com
Parce-que l'information est devenue l'arme de l'humanité qui lui permet d'avancer tout en gardant les traces du passé ! Et parce-que le temps est devenu le combattant majeur de l'époque ! Et ...
https://www.smartnskilled.com/tutoriel/formation-en-ligne-bienvenue-au-monde-du-bigdata