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)
Riepilogo
Avviso: non AWS CodeCommit è più disponibile per i nuovi clienti. I clienti esistenti di AWS CodeCommit possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni
Questo modello dimostra come integrare 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
Un account AWS attivo
Git
installato sul computer locale Amazon Cloud Development Kit (Amazon CDK) installato sul computer locale
Python
installato sulla macchina locale Il codice nella sezione Allegati
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

Il processo consiste nei seguenti passaggi:
Lo sviluppatore o l'ingegnere dei dati apporta una modifica al codice ETL, esegue il commit e invia la modifica ad AWS. CodeCommit
Il push avvia la pipeline.
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).La funzione Lambda avvia un nuovo job AWS Glue con il codice ETL.
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à | Descrizione | Competenze richieste |
---|---|---|
Configurare . | Configura l'AWS Command Line Interface (AWS CLI) per effettuare 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 |
Implementa il codice di esempio. | Dopo aver estratto i file, esegui i seguenti comandi dalla posizione di estrazione per creare un esempio di base:
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 |