CertNote/ Commute Study Notes
Roadmap
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
Linux Master 2 · 2급KAIT Linux Master - Level 2
SCS-C03 · SpecialtySecurity - Specialty
Linux Master 1 · 1급KAIT Linux Master - Level 1
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
  • Week 1
    • 1.What Is Data Engineering
    • 2.Batch vs Streaming
    • 3.A Bird's-Eye View of AWS Data Services
    • 4.Data Formats and Modeling
    • 5.Week 1 Comprehensive Review
  • Week 2
  • Week 3
  • Week 4
    • 1.Glue Data Catalog and Crawlers: Adding Metadata to Data
    • 2.Glue ETL Job: Transform Data on Spark
    • 3.Glue Studio and DataBrew: Transform Without Code
    • 4.Schema Management and Data Quality: Tolerate Evolution, Guarantee Trust
    • 5.Week 4 Synthesis: The Big Picture of AWS Glue Transformation
  • Week 5
  • Week 6
  • Week 7
  • Week 8
  • Week 9
  • Week 10
MLS-C01 · SpecialtyMachine Learning - Specialty
SQLD · 개발자SQL Developer (SQLD)

© CertNote · 주간랩스

  • About
  • Changelog
  • Contact
  • Terms
  • Privacy
← DEA-C01/Week 4/Day 5

Based on the DEA-C01 exam guide·Report an error

DEA-C01· AssociateWeek 4 · Day 5~28 min read

Day 5 - Week 4 Synthesis: The Big Picture of AWS Glue Transformation

📌 Key Takeaways

  • The center of Glue transformation is the Data Catalog. Crawlers populate it, transformation tools read from and write to it, and analytics engines share it.
  • A crawler registers metadata and an ETL Job transforms data. If this distinction wavers, you will keep getting scenario questions wrong.
  • Choose tools by user and purpose — a code-written Spark ETL is a Glue Job, visual design is Studio, and an analyst's no-code cleaning is DataBrew.
  • Shape (schema compatibility) is guarded by Schema Registry, and content (validity of values) by Glue Data Quality.
  • The three "incremental" features (incremental crawl, Job bookmark, partition projection) each reduce a different thing.

Glue Data Flow on One Page

This week we ran through transformation, the heart of data engineering, using the AWS Glue ecosystem. We captured metadata with the Data Catalog, ran Spark transformations with ETL Jobs, did no-code transformations with Studio/DataBrew, and guaranteed reliability with Schema Registry and Data Quality. Today we stitch these pieces into one picture, organize the service selection criteria, and review the traps that tend to produce wrong answers on the exam.

Here is the complete pipeline showing how all the Glue components fit together.

[Source Data]                S3 raw / Kinesis / MSK / JDBC
     │
     ├─(streaming)→ [Schema Registry] Schema contract, compatibility validation
     │
[Crawler] ──→ [Data Catalog] Register schema and partition metadata
     │              │
     │      (shared by all engines: Athena / Redshift Spectrum / EMR)
     ▼
[Transformation layer]
  ├─ Glue ETL Job (PySpark, DynamicFrame)       ← Engineer, code
  ├─ Glue Studio (visual ETL → code generation) ← Engineer, starts no-code
  └─ Glue DataBrew (cleaning/profiling Recipe)  ← Analyst, fully no-code
     │
[Quality gate] Glue Data Quality (DQDL) — load only what passes, quarantine failures
     │
     ▼
[Cleaned data]  S3 Parquet/Iceberg → Catalog update → Athena/Redshift/QuickSight

[Orchestration]       Glue Workflow/Trigger · Step Functions · MWAA (Airflow)
[Incremental load]    Job bookmark (transformation_ctx + job.commit())

The key is that the Data Catalog is the center of everything. Crawlers populate it, transformation tools read from and write to it, and analytics engines share it.

💡 Related Theory: This structure corresponds exactly to the medallion architecture (Bronze→Silver→Gold), the standard of modern data platforms. The crawler catalogs raw (Bronze), ETL/DataBrew cleans it to produce Silver, and additional aggregation produces Gold (analytics marts). Glue Data Quality acts as a gate at each layer transition. Don't get lost in specific AWS service names; if you understand it as the universal pattern "raw → cleaned → aggregated, with a quality gate at each stage," it works on any cloud.

Service Selection Decision Summary

The exam persistently asks "what to use in which situation?" These are the selection criteria for this week's tools.

SituationAnswerReason
Automatically register schema and partitions of S3 dataGlue crawler → Data CatalogAutomatic metadata inference
Large-scale distributed ETL, able to write codeGlue ETL Job (Spark)DynamicFrame, powerful transformations
Lightweight work of a few hundred MB, orchestrationPython Shell JobAvoids distributed overhead, cheap
Visual ETL, switch to code if neededGlue StudioAutomatic code generation + editing
Analyst's no-code cleaning and profilingGlue DataBrewPreview, PII detection, Recipe
Enforce streaming schema compatibilitySchema RegistryBACKWARD/FORWARD/FULL
Validate and block on data value validityGlue Data QualityDQDL rules, quality gate
Avoid reprocessing everything each timeJob bookmarkIncremental processing
Only a simple transformation then load to S3Firehose + LambdaGlue is overdesign

On the last row, it is important to know the cases where Glue is not the answer. For simple format conversion, Firehose + Lambda is cheaper, and if you need complex cluster tuning or a non-standard framework, EMR is better.

Collected Commonly Missed Traps

Here we gather in one place the traps emphasized on each day this week.

[Day1] A non-Hive path (2026/06/25/) fails automatic partition recognition
       → Use key=value paths (year=2026/...) from the start

[Day2] A Job bookmark needs both job.commit() and transformation_ctx
       → If either is missing, incremental processing doesn't work
       → A modified (overwritten) file has a changed modification time and is processed again (watch for target duplicates)

[Day3] Studio = engineers/production ETL, DataBrew = analysts/exploratory cleaning
       → Both are "Glue visual," so beware of confusion; DataBrew is also paid

[Day4] Schema Registry = shape (schema), Data Quality = content (values)
       → Negative/duplicate/null is a quality problem, not a schema problem
       → DQ recommended rules can produce false positives, a person should review

⚠️ Gotcha: The easily confused trap is mixing up the Glue crawler and the Glue ETL Job. A crawler only "registers metadata"; it does not transform or copy data. The ETL Job is what actually reads data, transforms it, and writes it anew. "Figure out the schema" = crawler, "change the data" = ETL Job. If this distinction wavers, you will get scenario questions wrong one after another.

The Cost Perspective Once More

Data engineers treat cost as part of design. Summarizing the cost levers of Glue transformation:

LeverHow to save
DPU hoursChoose appropriate DPUs, optimize the Job, use Python Shell
Crawler scansIncremental crawl, eliminate the crawler with partition projection
ReprocessingProcess only new data with Job bookmarks
Output formatParquet/ORC + partitioning reduces downstream scans
OverdesignDowngrade simple transformations to Firehose + Lambda

🎯 Comprehensive Scenario: A company receives raw JSON logs (tens of GB) daily and must turn them into an analyzable cleaned table. The complete architecture is: (1) Load logs to S3 under dt= Hive paths → (2) An incremental crawler registers new partitions in the Data Catalog → (3) An ETL Job designed in Glue Studio reads via from_catalog, cleans with ApplyMapping and ResolveChoice, and uses a Job bookmark to process only yesterday's new data → (4) A Glue Data Quality node validates amount>=0, IsComplete, and RowCount, loads only what passes to Parquet, and quarantines failures → (5) A follow-up crawler updates the cleaned table → (6) A Workflow trigger runs it automatically each dawn, with the quality score monitored in CloudWatch. Athena queries the cleaned table immediately. This one flow contains the entire week.

Telling Similarly Named Features Apart

This week several features appeared whose names or roles look alike. Let's put them on the same axis and see the differences.

The three with "incremental"

FeatureWhat it reducesState it remembersWhat it misses
Incremental crawlThe S3 range the crawler scansNew folders created since the last crawlModifications or deletions of existing partitions, schema changes
Job bookmarkThe input an ETL Job readsFor S3, the object modification time; for JDBC, the bookmark keyUPDATE and DELETE of existing JDBC rows
Partition projectionPartition registration work and Catalog lookupsNone (computed from rules in table properties)Engines other than Athena

The four that deal with "schema"

FeatureTargetWhat it does
Data CatalogStored tablesHolds schema, partitions, and location so multiple engines share them
CrawlerS3 and JDBC sourcesInfers the schema and registers it in the Catalog
Schema RegistryStream recordsManages schema versions and controls changes with compatibility rules
ResolveChoiceThe running DynamicFrameCleans up types mixed in a single column

The three that "look into the data"

FeatureWhat it looks atResult
CrawlerColumn names and typesA Catalog table definition. It does not look at whether values are right or wrong
DataBrew Profile JobStatistics such as missing rate, distribution, correlationA current-state diagnostic report
Glue Data QualityWhether rules are satisfiedPass/fail judgment and quality score, a pipeline gate

From Symptom to Cause: This Week's Incident Backtracking Table

SymptomCauseAction
Yesterday's data cannot be queried in AthenaThe new partition is not in the CatalogRun the crawler, ALTER TABLE ADD PARTITION, or partition projection
The partition column name is picked up as partition_0The path is not in key=value formatLoad to Hive-style paths or fix the name in the table definition
A single crawl creates dozens of tablesFiles with dissimilar schemas are mixed under one pathSeparate the paths or turn on the single-schema-per-path option
The Job rereads everything every timeThe bookmark is Disable (the default), or transformation_ctx or job.commit() is missingSatisfy all three conditions
Duplicate rows appear in the target even with the bookmark onA source file was overwritten and processed again, or data was loaded to the same path again after a bookmark ResetKeep source files immutable, and separate the output path for reprocessing
The Job dies from out-of-memoryData skew makes one partition too large, or there are too many small filesMove up the worker type, group files, reduce the input with a pushdown predicate
The consumer's deserialization fails after the producer deploymentThe schema changed without a compatibility check (NONE, or Registry not used)Use a compatibility mode such as BACKWARD so it is rejected at the registration stage
Dashboard numbers are wrong without any errorThe schema is right but the values are wrongPut a Glue Data Quality gate before the load
DataBrew cost is higher than expectedAn interactive session was left open and idleClose the session when work is done, and move repeated work to a scheduled Job

Scenario Practice: From Clue to Choice

These are placed as pairs where changing one condition in the same situation changes the answer.

ScenarioDecisive clueChoice
Logs pile up daily under dt= paths and are queried only with Athena. You want to eliminate crawler costThe only consumer is Athena, regular partitionsPartition projection
Same as above, but Redshift Spectrum also reads the same tableProjection is Athena-onlyIncremental crawl or partition registration at the load stage
Fetch only newly added rows from an RDS orders table dailyAppend-only table, increasing keyGlue Job + bookmark
Same as above, but order status is frequently UPDATEdChanges to existing rowsDMS CDC (a bookmark misses changes)
A marketer tidies the phone number format in a customer CSV themselvesNon-developer, previewDataBrew
Design with a graph an operational ETL joining multiple sources, and control part of it with codeEngineer, operational pipelineGlue Studio
Add a field to a Kafka topic's Avro schema and deploy with zero downtimeSchema contract on a streamSchema Registry BACKWARD + add as an optional field + deploy consumers first
Before loading, pick out and quarantine only the rows where amount is negativeValue validation + identifying failed recordsGlue Data Quality inside an ETL Job
Read a 50MB configuration file and call an external APISmall data, no distribution neededPython Shell Job
Lower the cost of a non-urgent nightly bulk transformationDelayed start acceptableFlex execution class

Billing Units at a Glance

To know what the levers in the "cost perspective" table above reduce, you first need to know what each component is billed on.

ComponentBilling basis
CrawlerDPU × run time
ETL Job (Spark)Sum of the workers' DPUs × run time. Flex has a lower unit price
Python Shell Job0.0625 or 1 DPU × run time
Data CatalogNumber of stored objects and number of requests (with a free tier)
DataBrewInteractive sessions (30-minute units) + Job node hours
Data QualityDPUs used for evaluation × time
Schema RegistryNo additional charge

Next week we move into Transformation Part 2 — Amazon EMR and Spark, Lambda transformation, orchestration, and performance and cost optimization.

📖 Glossary

  • Medallion architecture: A lake design pattern that stacks data in stages of raw (Bronze) → cleaned (Silver) → aggregated (Gold).
  • Incremental processing: A method of processing only data newly created since the last run instead of reprocessing everything each time.
  • Quality gate: A checkpoint that prevents data failing the quality criteria from moving to the next stage.
  • Pruning: An optimization that skips partitions or columns not needed by the query condition without reading them at all.
  • Recipe: A reusable list in DataBrew that writes down the applied transformation steps in order.
  • DQDL: The declarative language for writing Glue Data Quality rules.
  • Choice type: The representation in which a DynamicFrame preserves all the types when a single column has a mix of types.
  • Compatibility mode: Schema Registry's rule that judges whether a new schema version may be registered.

📝 Practice Questions

Click a choice to reveal the answer and explanation.

Question 1

Which of the following most accurately distinguishes the roles of a Glue crawler and a Glue ETL job?

Question 2

Which choice is the most cost-effective for the following requirement? "We only need to change the format of incoming JSON and load it into S3, with no window aggregation or complex distributed transformation."

Question 3

A Glue job bookmark is not working, so all of the data is reprocessed every time. Which of the following is NOT an item to check?

Question 4

Which option correctly pairs the services responsible for validating a data schema (shape) and values (content)?

Question 5

An analyst who does not know how to code wants to quickly profile and clean data. A data engineer, on the other hand, wants to visually design a production ETL that includes complex joins while controlling some parts with code. Which tool fits each?

PreviousSchema Management and Data Quality: Tolerate Evolution, Guarantee TrustWeek 4 · Day 4Next Amazon EMR: Spark, Hive and Cluster Operations, Plus EMR ServerlessWeek 5 · Day 1

Official references

  • DEA-C01 official exam page(opens in a new tab)
  • AWS Glue documentation(opens in a new tab)
  • Amazon Athena documentation(opens in a new tab)
  • Amazon S3 documentation(opens in a new tab)
  • AWS Lambda documentation(opens in a new tab)
  • Amazon Data Firehose documentation(opens in a new tab)

On this page

  • Key Takeaways
  • Glue Data Flow on One Page
  • Service Selection Decision Summary
  • Collected Commonly Missed Traps
  • The Cost Perspective Once More
  • Telling Similarly Named Features Apart
  • From Symptom to Cause: This Week's Incident Backtracking Table
  • Scenario Practice: From Clue to Choice
  • Billing Units at a Glance
  • Glossary
  • Practice Questions