Amazon DEA-C01: Datacatalogisering en metadatabeheer — 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 metadatalag die data vindbaar, bevraagbaar en beheerbaar maakt binnen een AWS-dataplatform. Effectieve catalogisering en metadatabeheer verminderen frictie voor analytics en zorgen ervoor dat downstream-consumenten schema’s, partities, toegangsbeleid en lineage kunnen vinden. AWS-services op dit gebied—Glue Data Catalog, Glue Schema Registry, Lake Formation, Athena-integratie en DataBrew—bieden complementaire tools voor discovery, schema-evolutie, governance en profilering. Begrijpen hoe deze services samenwerken, hun configuratiedetails en typische faalscenario’s is essentieel voor operationele betrouwbaarheid en beveiliging.
Structuur en operaties van de AWS Glue Data Catalog
De Glue Data Catalog is de regionale, gecentraliseerde metadata-repository voor databases, tabellen, partities, connecties en door de gebruiker gedefinieerde classifiers. De kernprimitieven zijn:
- Database: een logische container (gebruik aws cli: aws glue create-database –database-input Name=analytics_db).
- Table: beschrijft een dataset (serde, input/output formats, kolommen, tableType EXTERNAL_TABLE). Je kunt deze aanmaken/bijwerken via de console, Glue API of CloudFormation; bijv. aws glue create-table –database-name analytics_db –table-input file://table.json.
- Partition: een mapping tussen partitiesleutelwaarden en S3-prefixes; partities kunnen worden beheerd door Glue crawlers (aws glue start-crawler –name my-crawler) of expliciet worden toegevoegd (aws glue batch-create-partition).
Operationele patronen:
- Crawlers voor discovery: plan crawlers voor evoluerende S3-layouts, kies de volgorde van classifiers (CSV/JSON/Parquet) en stel een crawler-beleid in voor incrementele updates.
- Programmatische controle: geef de voorkeur aan Glue API’s of Lambda om partities toe te voegen bij event-driven S3-data-aanvoer, in plaats van uitsluitend op crawlers te vertrouwen.
- Catalogusreplicatie: de Glue Data Catalog is regionaal. Overweeg voor multi-region leesacties om crawlers in elke regio uit te voeren, automatisering te bouwen om metadata te repliceren, of resource-linking-patronen te gebruiken; ontwerpbeslissingen zijn afhankelijk van kosten, consistentievereisten en cross-region querypatronen.
Beslissingscriteria:
- Gebruik crawlers wanneer schemadetectie vereist is en dataformaten heterogeen zijn; gebruik expliciete tabelaanmaak voor strikte schema’s en voor voorspelbare datasets met een hoog volume.
- Gebruik batch-create-partition of op Lambda gebaseerd partitiebeheer voor de frequente aanvoer van kleine bestanden om vertraging van de crawler te voorkomen en de Glue API-kosten te verlagen.
Schemadiscovery en -evolutie
Schema Registry en Glue-schema’s ondersteunen Avro, JSON en Protobuf voor streaming en langdurige producer/consumer-contracten. Belangrijkste mogelijkheden:
- Registreer schema’s via de console of CLI (aws glue create-schema –schema-name orders –data-format AVRO –compatibility BACKWARD).
- Compatibiliteitsmodi: BACKWARD (consumenten kunnen nieuwe data lezen), FORWARD (nieuwe consumenten kunnen oude data lezen), en FULL (beide). Kies op basis van de deployment-patronen van de consumenten.
- Schema-afdwinging: voor streaming, integreer de registry met Kinesis Data Streams, MSK, of Kafka-clients en AWS SDK’s om te serialiseren/deserialiseren met ingebedde schemaversies en validatie.
Praktische configuratie- en evolutiepatronen:
- Gebruik voor Avro met veel consumenten BACKWARD-compatibiliteit zodat nieuwe velden met defaults kunnen worden toegevoegd; vermijd ‘breaking’ verwijderingen.
- Voor strikte contractevolutie tussen teams, vereis volledige compatibiliteit en laat schemawijzigingen via een CI-stap lopen die schemavalidatie uitvoert.
- Voor JSON waar velden optioneel zijn en het schema flexibel is, gebruik schema-evolutie met permissieve defaults maar versioneer metadata in de catalogus om te voorkomen dat consumenten stilzwijgend falen.
Beslissingscriteria:
- Gebruik Schema Registry voor streaming-events en wanneer meerdere consumenten een canoniek schema nodig hebben. Gebruik Glue-tabelschema’s voor batch-datasets waarbij het formaat (Parquet/ORC) ‘schema on read’ biedt.
- Kies de compatibiliteitsmodus door te evalueren of je alle consumenten beheert (FORWARD kan coördineren) of veilige, additieve wijzigingen nodig hebt (kies BACKWARD).
Datalineage en governance met Lake Formation
Lake Formation bouwt voort op de Glue Data Catalog om fijnmazige toegangscontrole, auditing en lineage-controles te bieden. Kernfuncties:
- LF-Tags: op tags gebaseerde toegangscontroles die worden toegepast op databases, tabellen en kolommen. Maak LF-Tags aan in Lake Formation, wijs key:value-paren toe en verleen vervolgens permissies aan IAM-principals via op tags gebaseerde grants in plaats van op resources gebaseerde grants.
- Controles op kolomniveau: gebruik LF-Tags om kolommen te maskeren of te beperken; configureer permissies op kolomniveau in de Lake Formation-console of met aws lakeformation grant-permissions.
- Lineage en auditing: schakel CloudTrail en Glue job-metrics in om de lineage van ETL-jobs vast te leggen; gebruik Glue job bookmarks en de metadata van job bookmarks in de catalogus om verwerkte data te volgen.
Configuratiepatronen:
- Definieer een kleine, consistente set LF-Tag-sleutels (bijv. sensitivity:public/private/PII) en automatiseer het taggen bij het aanmaken van tabellen of via Glue crawlers met behulp van crawler-configuratie of post-processing code.
- Delegeer administratie via Lake Formation Delegated Admin-rollen en verleen Lake Formation-permissies aan analyticsteams, terwijl de toegang tot S3 op IAM-niveau wordt beperkt.
Beslissingscriteria:
- Gebruik Lake Formation wanneer je gecentraliseerde, op kolomniveau en op tags gebaseerde controles nodig hebt voor veel consumenten en wanneer governance/auditeerbaarheid verplicht is.
- Als je toegangscontrolebehoeften eenvoudig zijn (op bucket-niveau), kunnen IAM+S3-policies volstaan; gebruik Lake Formation voor fijnmazige, in de catalogus geïntegreerde controles.
Integratie van Athena en de Glue-catalogus
Athena is voor metadata afhankelijk van de Glue Data Catalog. Veelvoorkomende integratiepunten en operationele instellingen:
- Partitiebeheer: Athena leest partities uit de Glue-catalogus. Wanneer nieuwe S3-partities worden toegevoegd, moet u de catalogus bijwerken. Opties:
- Voer
undefined
uit vanuit Athena of gebruik
undefined
met die SQL om partities te vernieuwen die onder de locatie van de tabel zijn gevonden.
- Gebruik
undefined
om partities programmatisch toe te voegen bij S3 PUT-events (aanbevolen voor event-driven flows).
- Gebruik ‘partition projection’ door tabeleigenschappen in te stellen zoals
undefined
,
undefined
,
undefined
en
undefined
— dit vermijdt Glue-lookups volledig en is essentieel voor zeer grote aantallen partities.
- Afwegingen tussen queryprestaties en kosten:
- ‘Partition projection’ elimineert Glue API-calls en vermindert de latentie drastisch voor veel kleine partities, maar vereist deterministische partitienamen.
undefined
is eenvoudig voor incidentele ad-hoc toevoegingen, maar kan traag zijn voor grote datasets.
Aanvulling met Glue DataBrew:
- Gebruik DataBrew voor profilering en transformaties zonder code; wijs DataBrew naar Glue Catalog-tabellen of S3-paden, voer profileringsjobs uit, maak recepten en publiceer de output terug naar S3 of als nieuwe Glue-tabellen.
- Gebruik DataBrew voor verkennende kwaliteitscontroles en om transformaties te genereren voor latere productie-implementatie in Glue ETL wanneer complexe Spark-logica vereist is.
Beslissingscriteria:
- Gebruik ‘partition projection’ wanneer partities talrijk zijn en een voorspelbaar schema volgen (op datum / numeriek).
- Gebruik programmatische Glue-partitie-updates voor event-driven, near-real-time opname.
- Voer
undefined
alleen uit voor incidentele backfills of wanneer automatisering niet beschikbaar is.
Veelvoorkomende valkuilen en beslissingscriteria
- Athena-query’s mislukken omdat Glue-partities niet zijn bijgewerkt na S3-toevoegingen: vermijd het om uitsluitend op crawlers te vertrouwen; voer
undefined
uit voor incidentele updates, roep
undefined
aan bij S3-events, of implementeer ‘partition projection’ voor grote, voorspelbare partitiesets.
- Het kiezen van de verkeerde compatibiliteitsmodus voor de schema registry breekt consumers: selecteer BACKWARD voor additieve wijzigingen en stabiliteit van de consumer, FORWARD wanneer producers compatibel moeten blijven met oudere consumers, en FULL wanneer beide richtingen veilig moeten zijn; valideer wijzigingen in CI tegen de schema’s van de consumer.
- Aannemen dat de Glue Data Catalog globaal is: de catalogus is regionaal. Ontwerp voor cross-region toegang replicatie of draai catalogi in de doelregio’s; ga er niet van uit dat Glue-metadata automatisch beschikbaar is tussen regio’s.
- IAM S3-toegang verlenen, maar geen Lake Formation-permissies: Athena en Lake Formation dwingen permissies op catalogusniveau af; verleen altijd Lake Formation-permissies (en LF-Tags waar gebruikt) naast eventuele IAM-policies.
- Overmatige partitiegranulariteit: het gebruik van te veel kleine partities schaadt de queryplanning en verhoogt de metadata-overhead; geef de voorkeur aan grovere partities (dagelijks vs. per minuut) of gebruik ‘partition projection’.
- DataBrew-rolpermissies verwaarlozen: DataBrew-jobs vereisen een service-rol met Glue- en S3-permissies; zorg ervoor dat de rol
undefined
, S3 lees/schrijf-rechten en
undefined
heeft als datasets versleuteld zijn.
Praktijkprobleem: Gebruiksscenario
Acme Retail ontvangt elk uur verkoopbestanden in S3 met datum/uur-partities en analisten voeren query’s uit op de data in Athena; na het laden zien gebruikers mislukte query’s en verouderde resultaten omdat partities niet zichtbaar zijn in de Glue Data Catalog.
- Implementeer een S3 PUT-eventnotificatie die een Lambda-functie aanroept die
undefined
uitvoert om de nieuwe partitie onmiddellijk te registreren. 2. Plan voor oudere data of backfills een Athena-query die
undefined
uitvoert; of voer een gerichte
undefined
uit voor bekende reeksen. 3. Als partities een strikte naamgevingsconventie voor datum/uur volgen, activeer dan ‘partition projection’ op de Glue-tabel (stel
undefined
in en definieer jaar/maand/dag/uur-eigenschappen) om de kosten voor het vernieuwen van de catalogus te elimineren. 4. Voeg LF-Tags voor gevoeligheid toe aan de tabel en verleen analisten Lake Formation-permissies zodat Athena-query’s zijn toegestaan en beheerd worden. 5. Gebruik Glue DataBrew om nieuwe uurbestanden in een staging-omgeving te profileren om schema-afwijkingen (schema drift) te detecteren; als schemawijzigingen worden gevonden, registreer dan nieuwe schemaversies in de Glue Schema Registry en valideer de compatibiliteit vóór de uitrol naar productie.
Rationale: automatische partitieregistratie of -projectie elimineert de metadatavertraging die Athena-query’s breekt; het koppelen hiervan aan Lake Formation-governance zorgt voor veilige toegang en profilering via DataBrew detecteert schema-afwijkingen vroegtijdig, terwijl de Glue Schema Registry streaming- en batch-consumers beschermt tegen incompatibele schemawijzigingen.
← Dataopslag en Lake-architectuur · Alle domeinen · Datatransformatie en -verwerking →
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 →