- Biblioteca di soluzioni AWS›
- Guida per l'ETL basato su SQL con Apache Spark su Amazon EKS
Guida per l'ETL basato su SQL con Apache Spark su Amazon EKS
Sblocca flussi di lavoro di dati efficienti e informazioni più rapide con una soluzione di estrazione, trasformazione e caricamento (ETL) scalabile di livello aziendale
Panoramica
Questa guida aiuta a colmare il divario tra i requisiti di consumo dei dati e le attività di elaborazione dei dati di basso livello eseguite con pratiche ETL comuni. Per le organizzazioni che operano su sistemi di gestione dei dati basati su SQL, l'adattamento alle moderne pratiche di ingegneria dei dati può rallentare il progresso dello sfruttamento di potenti informazioni dai propri dati. Questa guida fornisce un design attento alla qualità per aumentare la produttività dei processi di dati attraverso il framework di dati open source Arc per un approccio ETL incentrato sull'utente. La Guida accelera l'interazione con le pratiche ETL, promuovendo la semplicità e aumentando il livello di astrazione per unificare le attività ETL sia in batch che in streaming.
Offriamo anche opzioni per una progettazione ottimale utilizzando istanze di calcolo efficienti (come i processori AWS Graviton) che consentono di ottimizzare le prestazioni e i costi di esecuzione di processi ETL su larga scala su Amazon EKS.
Come funziona
Questo diagramma di architettura accelera l'elaborazione dei dati con Apache Spark su Amazon EKS.
Principi di Well-Architected
Il diagramma dell'architettura sopra riportato è un esempio di una soluzione creata tenendo conto delle best practice Well-Architected. Per essere completamente Well-Architected, dovresti seguire il maggior numero possibile di best practice.
All'interno dei cluster Amazon EKS, le istanze Amazon Elastic Compute Cloud (Amazon EC2) (CPU X86_64, Graviton ARM64) agiscono come nodi di calcolo, eseguendo carichi di lavoro Guidance. I job Spark vengono eseguiti su istanze Amazon EC2 Spot con provisioning elastico in base alle richieste di carico di lavoro. CodeBuild e CodePipeline automatizzano il processo GitOps, creando immagini di container a partire dagli aggiornamenti del codice Git e inviandole al registro privato Amazon ECR. Argo Workflows pianifica i processi ETL su Amazon EKS, estraendo automaticamente l'immagine Arc Docker da Amazon ECR, scaricando le risorse ETL dal bucket S3 dell'artefatto e inviando i log delle applicazioni a CloudWatch. Questa implementazione ed esecuzione automatizzate dei processo Data ETL riduce al minimo il sovraccarico operativo e migliora la produttività. Inoltre, la pipeline CI/CD che utilizza CodeBuild e CodePipeline aiuta a garantire il miglioramento e lo sviluppo continui archiviando in modo sicuro l'immagine Arc Docker di Guidance in Amazon ECR.
Le risorse del cluster Amazon EKS sono distribuite all'interno di un Amazon VPC, fornendo un isolamento logico della rete dalla rete Internet pubblica. Amazon VPC supporta funzionalità di sicurezza come gli endpoint VPC (che mantengono il traffico all'interno della rete AWS), i gruppi di sicurezza, gli elenchi di controllo degli accessi alla rete (ACL) e i ruoli e le politiche di AWS Identity and Access Management (IAM) per il controllo del traffico e delle autorizzazioni in entrata e in uscita. Il registro di immagini Amazon ECR offre funzionalità di sicurezza a livello di container, come la scansione delle vulnerabilità. Amazon ECR e Amazon EKS seguono gli standard del registro Open Container Initiative (OCI) e delle API Kubernetes, incorporando protocolli di sicurezza rigorosi. IAM fornisce il controllo degli accessi per i dati delle applicazioni Amazon S3, mentre AWS Key Management Service (AWS KMS) crittografa i dati inattivi su Amazon S3. IAM Roles for Service Accounts (IRSA) sui cluster Amazon EKS consente un controllo granulare degli accessi per i pod, applicando il controllo degli accessi basato sui ruoli e limitando l'accesso non autorizzato ai dati Amazon S3. Secrets Manager archivia e gestisce in modo sicuro le credenziali. CloudFront fornisce punti di ingresso sicuri con codifica SSL per gli strumenti web Jupyter e Argo Workflows.
Amazon EKS abilita topologie ad alta disponibilità distribuendo i piani di controllo e calcolo di Kubernetes su più zone di disponibilità (AZ). Questo aiuta a garantire la disponibilità continua delle applicazioni di dati, anche se un AZ subisce un'interruzione, con conseguente distribuzione affidabile di istanze EC2 Multi-AZ su Amazon EKS. Per lo storage dei dati, Amazon S3 offre elevata durabilità e disponibilità, replicando automaticamente gli oggetti di dati su più AZ all'interno di una regione. Inoltre, Amazon ECR ospita immagini Docker in un'architettura altamente disponibile e scalabile, supportando in modo affidabile l'implementazione e gli incrementi di applicazioni basate su container. Amazon S3, Amazon EKS e Amazon ECR sono servizi completamente gestiti progettati per contratti di servizio (SLA) elevati con costi operativi ridotti. Consentono l'implementazione di applicazioni aziendali critiche per soddisfare i requisiti di elevata disponibilità.
I nodi di calcolo Amazon EKS del cluster Amazon EC2 possono scalare dinamicamente verso l'alto e verso il basso in base al carico di lavoro delle applicazioni. Le istanze EC2 basate su Graviton offrono una maggiore efficienza delle prestazioni grazie a processori basati su ARM progettati su misura, hardware ottimizzato e miglioramenti dell'architettura. Un modello di storage di calcolo disaccoppiato (con dati di input e output archiviati in Amazon S3) migliora l'efficienza di scalabilità dinamica del calcolo. Data Catalog semplifica la gestione dei metadati, integrandosi perfettamente con Athena per una gestione semplificata dei metadati e prestazioni delle query migliorate. Data Catalog automatizza il crawling e la manutenzione dei metadati tecnici per un'elaborazione e un'interrogazione efficienti dei dati. Athena offre query rapide sui dati di Amazon S3 senza spostarli, migliorando ulteriormente l'efficienza del flusso di lavoro di analisi.
Amazon ECR è un servizio gestito per la protezione e il supporto delle applicazioni container con una tariffa mensile fissa per l'archiviazione e la distribuzione delle immagini dei contenitori. I nodi di calcolo del cluster Amazon EKS possono scalare verso l'alto e verso il basso in base ai carichi di lavoro Spark, offrendo tipi di istanze Graviton e Spot convenienti. Data Catalog fornisce un repository di metadati senza server e completamente gestito, eliminando la necessità di configurare e mantenere un database di metadati a lunga durata e riducendo i costi e i costi operativi. CodeBuild e CodePipeline automatizzano la creazione e l'implementazione dell'immagine Docker di Arc ETL Framework in un ambiente serverless, eliminando la necessità di provisioning e gestione dei server di sviluppo oltre a ridurre i costi di manutenzione dell'infrastruttura.
Questa guida esegue un cluster Amazon EKS con tipi di calcolo efficienti basati su processori Graviton. Amazon ECR elimina la necessità di hardware personalizzato o gestione di server fisici. Data Catalog e Athena sono servizi serverless, che riducono ulteriormente l'impatto energetico e ambientale. L'ottimizzazione del livello di calcolo di Amazon EKS per carichi di lavoro Apache Spark su larga scala riduce al minimo l'impatto ambientale dei carichi di lavoro di analisi. Hai la flessibilità di scegliere processori basati su ARM in base alle esigenze di prestazioni e alle tue priorità di sostenibilità.
Risorse per l'implementazione
Avvertenza
Hai trovato quello che cercavi?
Facci sapere la tua opinione in modo da migliorare la qualità dei contenuti delle nostre pagine