SQL-Based ETL con Apache Spark su Amazon EKS fornisce supporto per l'elaborazione dichiarativa dei dati, capacità di estrazione-trasformazione-caricamento (ETL) senza codice e automazione dell'orchestrazione del flusso di lavoro per aiutare gli utenti aziendali (come analisti e scienziati dei dati) ad accedere ai loro dati e creare intuizioni significative senza la necessità di processi IT manuali.
Vantaggi
Usa JupyterHub, un ambiente di sviluppo integrato interattivo (IDE) basato sul Web per semplificare lo sviluppo delle tue applicazioni ETL.
Implementa la logica di business e i controlli sulla qualità dei dati nello sviluppo di pipeline ETL utilizzando Spark SQL.
Usa i flussi di lavoro Argo per pianificare lavori e gestire complesse dipendenze di lavoro senza la necessità di codificare.
Configura una pipeline di integrazione continua e sviluppo continuo (CI/CD) di AWS per archiviare in modo sicuro l'immagine Docker del framework di dati in Amazon Elastic Container Registry (Amazon ECR).
Panoramica
Il diagramma qui sotto presenta l’architettura che puoi costruire utilizzando il codice di esempio su GitHub.

Architettura di ETL basato su SQL con Apache Spark su Amazon EKS
ETL basato su SQL con Apache Spark su Amazon EKS implementa un ambiente sicuro, tollerante ai guasti e con scalabilità automatica per supportare i carichi di lavoro ETL contenenti i seguenti componenti:
- Un livello di gestione del flusso di lavoro personalizzabile e flessibile (fai riferimento al gruppo Orchestrazione su Amazon Elastic Kubernetes Service (Amazon EKS) nel diagramma) che include il plug-in Argo Workflows. Questo plug-in fornisce uno strumento basato su Web che consente di orchestrare i processi ETL senza la necessità di scrivere codice. Facoltativamente, è possibile utilizzare altri strumenti per i carichi di lavoro come Volcano e Apache Airflow.
- Un workspace per l'elaborazione dei dati sicura è configurato per unificare i carichi di lavoro dei dati nello stesso cluster Amazon EKS. Questo workspace contiene un altro strumento basato su Web, JupyterHub, per la creazione e il test dei processi interattivi. Puoi sviluppare il notebook Jupyter utilizzando un approccio dichiarativo per specificare le attività ETL o scrivere a livello di codice i passaggi ETL utilizzando PySpark. Questo workspace fornisce anche le automazioni dei lavori Spark gestite dallo strumento Argo Workflows.
- Nella soluzione è implementata una serie di funzioni di sicurezza. Amazon Elastic Container Registry (Amazon ECR) mantiene e protegge un'immagine Docker del framework di elaborazione dati. La funzione IRSA, ovvero i ruoli AWS Identity and Access Management (IAM) per gli account di servizio su Amazon EKS fornisce l'autorizzazione token con controllo di accesso granulare ad altri servizi AWS. Ad esempio, l’integrazione di Amazon EKS con Amazon Athena avviene senza password per mitigare il rischio di esposizione delle credenziali AWS in una stringa di connessione. Jupyter recupera al volo le credenziali di accesso da AWS Secrets Manager in Amazon EKS. Amazon CloudWatch monitora le applicazioni su Amazon EKS tramite la funzione CloudWatch Container Insights attivata.
- I carichi di lavoro analitici sul cluster Amazon EKS restituiscono i risultati dei dati a un data lake Amazon Simple Storage Service (Amazon S3). Viene creata una voce dello schema di dati (metadati) in un Catalogo dati di AWS Glue tramite Amazon Athena.
ETL basato su SQL con Apache Spark su Amazon EKS
Versione 1.0.0
Rilascio: 07/2021
Autore: AWS
Risorse aggiuntive

Sfoglia la nostra biblioteca di soluzioni AWS per ottenere risposte a problemi architetturali comuni.

Trova Partner AWS che ti aiutino a cominciare.

Troverai diagrammi architettonici prescrittivi, esempi di codice e contenuti tecnici per casi d'uso comuni.