Implementa un job AWS Glue con una pipeline CodePipeline CI/CD AWS - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Implementa un job AWS Glue con una pipeline CodePipeline CI/CD AWS

Creato da Bruno Klein (AWS) e Luis Henrique Massao Yamada (AWS)

Ambiente: produzione

Tecnologie DevOps: Big data

Servizi AWS: AWS Glue; AWS CodeCommit; AWS CodePipeline; AWS Lambda

Riepilogo

Questo modello dimostra come integrare Amazon Web Services (AWS) CodeCommit e AWS CodePipeline con AWS Glue e utilizzare AWS Lambda per avviare lavori non appena uno sviluppatore invia le modifiche a un repository AWS remoto. CodeCommit  

Quando uno sviluppatore invia una modifica a un repository di estrazione, trasformazione e caricamento (ETL) e invia le modifiche ad AWS CodeCommit, viene richiamata una nuova pipeline. La pipeline avvia una funzione Lambda che avvia un job AWS Glue con queste modifiche. Il job AWS Glue esegue il task ETL.

Questa soluzione è utile nel caso in cui aziende, sviluppatori e ingegneri dei dati vogliano avviare attività non appena le modifiche vengono apportate e trasferite negli archivi di destinazione. Aiuta a raggiungere un livello più elevato di automazione e riproducibilità, evitando quindi errori durante l'avvio e il ciclo di vita del lavoro.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

  • La pipeline è completata non appena il job AWS Glue viene avviato con successo. Non aspetta la conclusione del lavoro.

  • Il codice fornito nell'allegato è destinato esclusivamente a scopi dimostrativi.

Architettura

Stack tecnologico Target

  • AWS Glue

  • AWS Lambda

  • AWS CodePipeline

  • AWS CodeCommit

Architettura Target

Utilizzo di Lambda per avviare un job Glue non appena uno sviluppatore inserisce le modifiche a un repository. CodeCommit

Il processo consiste nei seguenti passaggi:

  1. Lo sviluppatore o l'ingegnere dei dati apporta una modifica al codice ETL, esegue il commit e invia la modifica ad AWS. CodeCommit

  2. Il push avvia la pipeline.

  3. La pipeline avvia una funzione Lambda, che richiama il repository e carica il file codecommit:GetFile su Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3).

  4. La funzione Lambda avvia un nuovo job AWS Glue con il codice ETL.

  5. La funzione Lambda completa la pipeline.

Automazione e scalabilità

L'allegato di esempio dimostra come integrare AWS Glue con AWS CodePipeline. Fornisce un esempio di base che puoi personalizzare o estendere per uso personale. Per i dettagli, consulta la sezione Epics.

Strumenti

  • AWS CodePipeline: AWS CodePipeline è un servizio di distribuzione continua completamente gestito che ti aiuta ad automatizzare le pipeline di rilascio per aggiornamenti rapidi e affidabili di applicazioni e infrastrutture.

  • AWS CodeCommit: AWS CodeCommit è un servizio di controllo del codice sorgente completamente gestito che ospita repository sicuri basati su Git.

  • AWS Lambda — AWS Lambda è un servizio di elaborazione serverless che consente di eseguire codice senza effettuare il provisioning o la gestione di server.

  • AWS Glue — AWS Glue è un servizio di integrazione dei dati senza server che semplifica la scoperta, la preparazione e la combinazione di dati per l'analisi, l'apprendimento automatico e lo sviluppo di applicazioni.

  • Client Git: Git fornisce strumenti GUI oppure puoi usare la riga di comando o uno strumento desktop per controllare gli artefatti richiesti. GitHub 

  • AWS CDK: AWS CDK è un framework di sviluppo software open source che ti aiuta a definire le risorse delle tue applicazioni cloud utilizzando linguaggi di programmazione familiari.

Epiche

AttivitàDescrizioneCompetenze richieste

Configurare .

Configura l'AWS Command Line Interface (AWS CLI) per il targeting e l'autenticazione con il tuo account AWS corrente. Per istruzioni, consulta la documentazione dell'interfaccia a riga di comando di AWS.

Sviluppatore, DevOps ingegnere

Estrai i file di progetto di esempio.

Estrai i file dall'allegato per creare una cartella contenente i file di progetto di esempio.

Sviluppatore, DevOps ingegnere

Distribuisci il codice di esempio.

Dopo aver estratto i file, esegui i seguenti comandi dalla posizione di estrazione per creare un esempio di base:

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

Dopo l'ultimo comando, puoi monitorare lo stato della pipeline e del job AWS Glue.

Sviluppatore, DevOps ingegnere

Personalizza il codice.

Personalizzate il codice per il file etl.py in base ai vostri requisiti aziendali. È possibile rivedere il codice ETL, modificare le fasi della pipeline o estendere la soluzione.

Ingegnere dei dati

Risorse correlate

Allegati

Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip