Amazon DEA-C01: Datatransformatie en -verwerking — Studiegids
Onderdeel van de Amazon Data Engineer Associate DEA-C01 — Studiegids. Oefen met geverifieerde antwoorden in het Amazon-examencentrum, of doe getimede oefentests op ExamRoll.io.
Dit domein behandelt de AWS-services en patronen die worden gebruikt voor het opschonen, transformeren en voorbereiden van data voor analytics en ML op grote schaal. Het richt zich op het selecteren van de juiste compute en tooling (Glue, Lambda, EMR, DataBrew) op basis van datavolume, latency-vereisten en kostenbeperkingen. Het begrijpen van servicelimieten, configuratie-instellingen voor jobs, en hoe dataformaten en catalogs met elkaar interageren, is cruciaal voor het bouwen van betrouwbare, incrementele pipelines.
AWS Glue ETL-jobs (Spark en Python shell)
Glue Spark-jobs zijn de primaire keuze voor grootschalige, gedistribueerde ETL: ze draaien op door AWS Glue beheerde Apache Spark, gebruiken GlueContext en werken met DynamicFrame- en Spark DataFrame-types. Configureer via de console of CLI met jobtype “glueetl”, workerType (G.1X, G.2X, G.4X) en NumberOfWorkers; start met de CLI:
undefined
. Gebruik DynamicFrame API’s (create_dynamic_frame.from_options, apply_mapping) wanneer je schema-flexibele transformaties, ingebouwde transformaties (Relationalize, Unnest) en automatische verwerking van semi-gestructureerde data nodig hebt; converteer naar een Spark DataFrame met dyf.toDF() wanneer je Spark SQL, joins met hogere prestaties of custom UDF’s nodig hebt.
Glue Python shell-jobs gebruiken jobtype “pythonshell” voor lichtgewicht scripting en control-plane taken. Ze zijn single-DPU (1 DPU) met beperkt parallellisme en zijn het meest geschikt voor kleine bestandsmanipulaties, metadata-updates of orkestratie. Configureer via
undefined
en start met
undefined
. Let op dat Python shell-jobs een limiet van 1 DPU hebben — gebruik Spark voor grote datasets.
Glue job bookmarks maken incrementele verwerking mogelijk door eerder verwerkte S3-objecten en partities bij te houden. Activeer bookmarks in de jobconfiguratie of bij het starten van runs:
undefined
. Bookmarks werken voor S3-gebaseerde bronnen die de ingebouwde connectors gebruiken; JDBC-bronnen ondersteunen bookmarks niet standaard en vereisen custom watermarking of state storage.
Glue ondersteunt nu ExecutionClass FLEX voor kosten-geoptimaliseerde, niet-urgente jobs. Start met
undefined
om Glue in staat te stellen de job tegen lagere kosten in te plannen met versoepelde starttijd-SLA’s. Gebruik FLEX voor batch-backfills en niet-latency-gevoelige workloads; gebruik STANDARD voor voorspelbare latency.
Beslissingscriteria — snelle vergelijkingen:
- DynamicFrame vs Spark DataFrame
- Gebruik DynamicFrame bij het opnemen van semi-gestructureerde JSON/Parquet met schema drift, en maak gebruik van apply_mapping, relationalize en glue-transformaties.
- Gebruik Spark DataFrame wanneer je de prestaties van Spark SQL, complexe joins, window-functies en Spark-bibliotheken van derden nodig hebt.
- Converteer tussen beide via
undefined
en
undefined
.
- Glue Spark vs Python shell
- Kies Spark voor multi-node, gedistribueerde ETL op grote datasets en bij het gebruik van Glue Catalog-integratie op schaal.
- Kies Python shell voor kleine, snelle taken of orkestratiestappen die binnen 1 DPU passen.
AWS Lambda voor lichtgewicht transformaties
Lambda is ideaal voor event-driven, low-latency, lichtgewicht transformaties die direct worden getriggerd door S3, Kinesis of EventBridge. Typische toepassingen zijn bestandsvalidatie, metadata-extractie, conversie van JSON naar CSV voor kleine bestanden, of de stream-verwerking van records. Configureer geheugen en timeout met
undefined
. Provisioned concurrency kan worden ingesteld met
undefined
om cold starts te beperken voor latency-gevoelige streaming pipelines.
Houd rekening met de limieten van Lambda voor dataverwerking: 15 minuten maximale uitvoeringstijd, 10 GB geheugen (10.240 MB) en slechts 512 MB aan tijdelijke /tmp-opslag. Voor de verwerking van grotere bestanden, gebruik ‘chain processing’ (bestanden opsplitsen), plaats ze op S3 en roep een Glue- of EMR-job aan, of gebruik ‘multi-part processing’ met AWS Step Functions. Gebruik omgevingsvariabelen voor kleine configuraties en IAM-rol-policies die strikt het ’least privilege’-principe hanteren.
Beslissingscriteria — wanneer kies je voor Lambda:
- Gebruik Lambda wanneer de verwerking per aanroep binnen de limieten van 15 minuten, 10 GB geheugen en 512 MB /tmp past en wanneer een latency van sub-seconde tot een seconde vereist is.
- Vermijd het gebruik van Lambda voor grote, langdurige of zware, geheugen-intensieve transformaties; gebruik in plaats daarvan Glue Spark of EMR.
← Datacatalogisering en metadatabeheer · Alle domeinen · Data-orkestratie en workflowbeheer →
Oefen deze vragen → · Getimede oefening op 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.
Slaag voor je examen →