Déployer une tâche AWS Glue avec un pipeline AWS CodePipeline CI/CD - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déployer une tâche AWS Glue avec un pipeline AWS CodePipeline CI/CD

Créée par Bruno Klein (AWS) et Luis Henrique Massao Yamada (AWS)

Environnement : Production

Technologies : DevOps mégadonnées

Services AWS : AWS Glue ; AWS CodeCommit ; AWS CodePipeline ; AWS Lambda

Récapitulatif

Ce modèle montre comment intégrer Amazon Web Services (AWS) CodeCommit et AWS à AWS CodePipeline Glue, et comment utiliser AWS Lambda pour lancer des tâches dès qu'un développeur envoie ses modifications vers un référentiel AWS distant. CodeCommit  

Lorsqu'un développeur soumet une modification à un référentiel d'extraction, de transformation et de chargement (ETL) et transmet les modifications à AWS CodeCommit, un nouveau pipeline est invoqué. Le pipeline lance une fonction Lambda qui lance une tâche AWS Glue avec ces modifications. La tâche AWS Glue exécute la tâche ETL.

Cette solution est utile dans les situations où les entreprises, les développeurs et les ingénieurs de données souhaitent lancer des tâches dès que les modifications sont validées et transférées vers les référentiels cibles. Cela permet d'atteindre un niveau supérieur d'automatisation et de reproductibilité, évitant ainsi les erreurs lors du lancement des tâches et du cycle de vie.

Conditions préalables et limitations

Prérequis

Limites

  • Le pipeline est terminé dès que la tâche AWS Glue est lancée avec succès. Il n'attend pas la fin du travail.

  • Le code fourni dans la pièce jointe est destiné à des fins de démonstration uniquement.

Architecture

Pile technologique cible

  • AWS Glue

  • AWS Lambda

  • AWS CodePipeline

  • AWS CodeCommit

Architecture cible

Utiliser Lambda pour lancer une tâche Glue dès qu'un développeur apporte des modifications à un dépôt. CodeCommit

Le processus comprend les étapes suivantes :

  1. Le développeur ou l'ingénieur de données apporte une modification au code ETL, valide et transmet la modification à AWS CodeCommit.

  2. Le push initie le pipeline.

  3. Le pipeline lance une fonction Lambda, qui codecommit:GetFile appelle le référentiel et télécharge le fichier vers Amazon Simple Storage Service (Amazon S3).

  4. La fonction Lambda lance une nouvelle tâche AWS Glue avec le code ETL.

  5. La fonction Lambda termine le pipeline.

Automatisation et mise à l'échelle

L'exemple de pièce jointe montre comment intégrer AWS Glue à AWS CodePipeline. Il fournit un exemple de référence que vous pouvez personnaliser ou étendre pour votre propre usage. Pour plus de détails, consultez la section Epics.

Outils

  • AWS CodePipeline — AWS CodePipeline est un service de livraison continue entièrement géré qui vous aide à automatiser vos pipelines de publication pour des mises à jour rapides et fiables des applications et de l'infrastructure.

  • AWS CodeCommit — AWS CodeCommit est un service de contrôle de source entièrement géré qui héberge des référentiels sécurisés basés sur Git.

  • AWS Lambda — AWS Lambda est un service de calcul sans serveur qui vous permet d'exécuter du code sans provisionner ni gérer de serveurs.

  • AWS Glue — AWS Glue est un service d'intégration de données sans serveur qui facilite la découverte, la préparation et la combinaison de données à des fins d'analyse, d'apprentissage automatique et de développement d'applications.

  • Client Git : Git fournit des outils d'interface graphique. Vous pouvez également utiliser la ligne de commande ou un outil de bureau pour récupérer les artefacts requis GitHub. 

  • AWS CDK — L'AWS CDK est un framework de développement de logiciels open source qui vous aide à définir les ressources de vos applications cloud à l'aide de langages de programmation familiers.

Épopées

TâcheDescriptionCompétences requises

Configuration de l'AWS CLI.

Configurez l'interface de ligne de commande AWS (AWS CLI) pour cibler et authentifier votre compte AWS actuel. Pour obtenir des instructions, consultez la documentation de l'AWS CLI.

Développeur, DevOps ingénieur

Extrayez les exemples de fichiers de projet.

Extrayez les fichiers de la pièce jointe pour créer un dossier contenant les exemples de fichiers de projet.

Développeur, DevOps ingénieur

Déployez l'exemple de code.

Après avoir extrait les fichiers, exécutez les commandes suivantes depuis l'emplacement d'extraction pour créer un exemple de référence :

cdk bootstrap cdk deploy git init git remote add origin <code-commit-repository-url> git stage . git commit -m "adds sample code" git push --set-upstream origin main

Après la dernière commande, vous pouvez surveiller l'état du pipeline et de la tâche AWS Glue.

Développeur, DevOps ingénieur

Personnalisez le code.

Personnalisez le code du fichier etl.py en fonction des besoins de votre entreprise. Vous pouvez réviser le code ETL, modifier les étapes du pipeline ou étendre la solution.

Ingénieur de données

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip