Qui ne cherche pas à gagner en efficacité ? Pour cela, pensez à découper systématiquement vos jobs en “petites” tailles et vous gagnerez en efficacité, en temps d’exécution et une facilité de maintenance. Nous allons donc continuer avec une autre bonne pratique qui est l’automatisation de l’exécution de nos jobs à l’aide d’un orchestrateur.
Conseil N°6 : Séparer la logique d’orchestration de la logique de traitement
L’orchestration des traitements joue plusieurs rôles très importants dans la gestion de traitements de données :
- programmer à une date et/ou une fréquence l’exécution d’un pipeline de jobs,
- s’assurer de l’enchaînement correct des jobs en fonction de leurs dépendances,
- vérifier que le job a les ressources nécessaires lui permettant de s’exécuter dans de bonnes conditions.
Une erreur, souvent commise, est de ne pas avoir recours à un outil d’orchestration et de réaliser un job monolithique effectuant de nombreuses opérations, sans donner aucun contrôle sur leur priorité, ni offrir la possibilité de paralléliser plusieurs tâches.
Il existe de nombreux outils fournissant ces services de manière complète ou partielle. Dans l’écosystème Hadoop, c’est le couple Apache Oozie / Apache Hadoop YARN, mais il y a aussi Azkaban, Luigi pour ne citer que des solutions Open Source. Bien souvent, c’est une simple Crontab associée à des outils “maison”. Dans notre cas, nous utilisons le framework Airflow.
Conclusion:
Dans le monde de la musique un orchestrateur ajoute de la magie à la symphonie, à vous d’ajouter de l’harmonie à votre data. A vos baguettes alors ! Et n’hésitez pas à partager votre expérience avec nos experts.
____________________________________________
Pour relire le conseil N°5 c’est par ici
Pour relire le conseil N°4 c’est par ici
Pour relire le conseil N°3 c’est par ici
Pour relire le conseil N°2 c’est par ici
Pour relire le conseil N°1 c’est par ici
Pour postuler directement et joindre notre équipe de Data Engineer, c’est par ici.