Amazon DEA-C01: Trasformazione ed elaborazione dei dati — Guida allo studio

Fa parte della Amazon Data Engineer Associate DEA-C01 — Guida allo studio. Esercitati con risposte verificate nel centro esami Amazon, oppure fai test cronometrati su ExamRoll.io.

Questo dominio copre i servizi e i pattern AWS utilizzati per pulire, trasformare e preparare i dati per l’analisi e il ML su larga scala. Si concentra sulla selezione del giusto strumento di calcolo (Glue, Lambda, EMR, DataBrew) in base al volume dei dati, ai requisiti di latenza e ai vincoli di costo. Comprendere i limiti dei servizi, i parametri di configurazione dei processi e come interagiscono i formati dei dati e i cataloghi è fondamentale per costruire pipeline affidabili e incrementali.

Processi ETL di AWS Glue (Spark e Python shell)

I processi Glue Spark sono la scelta principale per l’ETL distribuito su larga scala: vengono eseguiti su Apache Spark gestito da AWS Glue, utilizzano il GlueContext e operano sui tipi DynamicFrame e Spark DataFrame. Si configurano tramite la console o la CLI con il tipo di processo “glueetl”, workerType (G.1X, G.2X, G.4X) e NumberOfWorkers; si avviano con la CLI: aws glue start-job-run –job-name my-spark-job –arguments ‘–execution-class=STANDARD’. Utilizzare le API DynamicFrame (create_dynamic_frame.from_options, apply_mapping) quando si necessita di trasformazioni con schema flessibile, trasformazioni integrate (Relationalize, Unnest) e gestione automatica di dati semi-strutturati; convertire in Spark DataFrame con dyf.toDF() quando si necessita di Spark SQL, join ad alte prestazioni o UDF personalizzate.

I processi Glue Python shell utilizzano il tipo di processo “pythonshell” per attività di scripting leggero e di control-plane. Sono a singola DPU (1 DPU) con parallelismo limitato e sono ideali per piccole manipolazioni di file, aggiornamenti di metadati o orchestrazione. Si configurano tramite aws glue create-job –name my-pyjob –command ‘{“Name”:“pythonshell”,“PythonVersion”:“3”}’ e si avviano con aws glue start-job-run. Notare che i processi Python shell hanno un limite di 1 DPU — usare Spark per dataset di grandi dimensioni.

I bookmark dei processi Glue abilitano l’elaborazione incrementale tracciando gli oggetti S3 e le partizioni già elaborate in precedenza. Abilitare i bookmark nella configurazione del processo o all’avvio delle esecuzioni: aws glue start-job-run –job-name my-job –job-bookmark-option job-bookmark-enable. I bookmark funzionano per le origini dati basate su S3 che utilizzano i connettori integrati; le origini JDBC non supportano i bookmark di default e richiedono un watermarking personalizzato o un meccanismo di archiviazione dello stato.

Glue ora supporta ExecutionClass FLEX per processi non urgenti e ottimizzati per i costi. Avviare con aws glue start-job-run –job-name my-job –execution-class FLEX per consentire a Glue di pianificare il processo a un costo inferiore con SLA sui tempi di avvio più rilassati. Usare FLEX per i backfill in batch e per i carichi di lavoro non sensibili alla latenza; usare STANDARD per una latenza prevedibile.

Criteri decisionali — un rapido confronto:

AWS Lambda per trasformazioni leggere

Lambda è ideale per trasformazioni leggere, a bassa latenza e guidate dagli eventi, attivate direttamente da S3, Kinesis o EventBridge. Gli usi tipici includono la validazione di file, l’estrazione di metadati, la conversione da JSON a CSV per file di piccole dimensioni o l’elaborazione in streaming di record. Configurare memoria e timeout con aws lambda update-function-configuration –function-name myFunc –memory-size 2048 –timeout 300. La Provisioned Concurrency può essere impostata con aws lambda put-provisioned-concurrency-config per mitigare i cold start per le pipeline di streaming sensibili alla latenza.

Tenere presenti i limiti di Lambda per l’elaborazione dei dati: 15 minuti di esecuzione massima, 10 GB di memoria (10.240 MB) e solo 512 MB di storage effimero in /tmp. Per l’elaborazione di file più grandi, concatenare l’elaborazione (suddividere i file), effettuare lo staging su S3 e invocare un processo Glue o EMR, oppure utilizzare l’elaborazione multi-part con AWS Step Functions. Usare le variabili d’ambiente per piccole configurazioni e policy di ruolo IAM che concedano rigorosamente il principio del privilegio minimo.

Criteri decisionali — quando scegliere Lambda:

Amazon EMR per l’elaborazione su larga scala

EMR è la soluzione di riferimento per l’elaborazione personalizzabile di big data su larga scala (Spark, Hadoop, Presto, Flink) dove è richiesto un controllo a livello di cluster, azioni di bootstrap personalizzate o librerie specializzate. È possibile creare cluster tramite CLI con aws emr create-cluster e scegliere tra --instance-groups o --instance-fleets. Gli instance fleet offrono combinazioni flessibili di tipi di istanza e un mix di istanze spot/on-demand; gli instance group sono gruppi più semplici e a dimensione fissa.

Pattern di cluster EMR da considerare:

Esempi di configurazione:

Utilizzare EMR quando si necessita del pieno controllo sui componenti dell’ecosistema Hadoop, di script di bootstrap personalizzati o di un HDFS persistente per dati intermedi; altrimenti, Glue Spark è più semplice per ETL Spark gestiti che si integrano con il Glue Data Catalog.

Glue DataBrew e trasformazioni visuali

Glue DataBrew è uno strumento visuale, no-code/low-code, per il profiling, la pulizia e la trasformazione dei dati, rivolto a data analyst e ingegneri che lavorano in modo interattivo. Si crea un dataset da S3 o dal Glue Catalog, si costruisce una “recipe” di trasformazioni nella console, se ne visualizza l’anteprima su un campione e si eseguono job per applicare le recipe su larga scala. È possibile schedulare i job di DataBrew o eseguirli tramite CLI con aws databrew start-job-run --name my-databrew-job.

DataBrew è ottimizzato per attività di preparazione dei dati come standardizzazione, deduplicazione, conversione di tipo e trasformazioni a livello di colonna con funzioni integrate. Si integra con il Glue Catalog e scrive gli output su S3. Scegliere DataBrew quando gli utenti business necessitano di pulizia self-service e profiling rapido; per logiche di trasformazione pesanti, join complessi o set di dati molto grandi, preferire Glue Spark o EMR.

Confronto tra trasformazioni visuali e basate su codice:

Errori Comuni e Criteri Decisionali

Problema Pratico: Scenario d’Uso

AcmeRetail elabora file Parquet di clickstream notturni in una tabella unificata delle attività dei clienti e desidera un’elaborazione incrementale per evitare di rielaborare mesi di dati, mantenendo bassi i costi per i backfill non urgenti.

  1. Utilizzare un layout partizionato su S3 (year=/month=/day=) e registrare il set di dati nel Glue Data Catalog.
  2. Creare un job Glue Spark (glueetl) che legge da DynamicFrame.from_catalog per flessibilità dello schema, applica mappature, converte in DataFrame per join complessi e scrive nuovamente su S3 in formato Parquet partizionato.
  3. Abilitare i job bookmark di Glue (job-bookmark-enable) per le esecuzioni notturne per elaborare solo le nuove partizioni; per le fonti di arricchimento JDBC, implementare colonne watermark persistite in DynamoDB per tracciare il timestamp massimo elaborato.
  4. Per le esecuzioni notturne di routine, utilizzare ExecutionClass=STANDARD; per la rielaborazione storica non urgente, inviare le esecuzioni con --execution-class FLEX per risparmiare sui costi.
  5. Monitorare con le metriche di CloudWatch e impostare allarmi per i fallimenti dei job; per scale molto grandi o librerie personalizzate, considerare cluster EMR transitori che scrivono i risultati intermedi su S3 e si auto-terminano.

Razionale: Questo approccio sfrutta lo Spark gestito di Glue per trasformazioni scalabili e i DynamicFrame per input semi-strutturati, utilizza i job bookmark per l’elaborazione incrementale da S3 e usa FLEX per ridurre i costi dei backfill, preservando costi, affidabilità e semplicità operativa.


Catalogazione dei dati e gestione dei metadati · Tutti i domini · Orchestrazione dei dati e gestione del workflow

Esercitati su queste domande → · Pratica cronometrata su ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Supera l'esame →

Sfoglia Amazon →

Related guides

Accesso tutto incluso

Un abbonamento. Ogni esame.

Ogni piano sblocca la ricerca illimitata di risposte, test pratici, spiegazioni AI e la libreria completa di risorse — in oltre 20 lingue.

Mensile
24.87
Just €0.83/day
Tutto incluso:
  • Ricerca risposte illimitata
  • Test pratici illimitati
  • Spiegazioni basate su AI
  • Libreria completa di risorse
  • Oltre 20 lingue
  • Aggiornamenti settimanali dei contenuti
  • Premi e referral
  • Supporto prioritario
Inizia la prova gratuita

Nessuna carta di credito richiesta*

Miglior valore
12 mesi
179.87
Just €0.49/daySave 40%
Tutto incluso:
  • Ricerca risposte illimitata
  • Test pratici illimitati
  • Spiegazioni basate su AI
  • Libreria completa di risorse
  • Oltre 20 lingue
  • Aggiornamenti settimanali dei contenuti
  • Premi e referral
  • Supporto prioritario
Inizia la prova gratuita

Nessuna carta di credito richiesta*

✓ Piano gratuito incluso · ✓ Annulla in qualsiasi momento · ✓ Tutti i piani sbloccano il prodotto completo