Courseiva
DEA-C01Chapter 13 of 18Objective 4.1

AWS Glue: Serverless ETL and Data Catalog for Data Preparation

Exam Domain 4.1 asks you to design and implement ETL pipelines. Before you can analyse data or train machine learning models, you must get that data into a clean, usable format inside AWS. This is where AWS Glue becomes your single most important tool for data preparation.

12 min read
Intermediate
Updated Jul 23, 2026
Reviewed by Johnson Ajibi· Senior Network & Security Engineer · MSc IT Security

A simple way to picture AWS Glue: Serverless ETL and Data Catalog for Data Preparation

The Community Kitchen Renovation Analogy

A community kitchen is a chaotic mess. Ingredients arrive in different forms: some are whole vegetables, some are pre-chopped, some are in cans with labels in different languages. A team of volunteers needs to prepare a standardised meal for everyone. This is exactly what a data engineer faces with raw data.

Before any cooking, the team must first figure out what ingredients they even have. The kitchen manager opens every cupboard and fridge, catalogues every item, and writes a list: 'We have 5 kg of potatoes, 2 kg of unlabelled frozen meat, 3 litres of milk, and a jar of mystery spice.' This catalogue is the data catalog. It tells the team what exists and where it is.

The team does not own the kitchen or the pots and pans. They rent a commercial kitchen for the day. They pay only for the time they use it, and they do not have to clean the massive industrial ovens or maintain the dishwashers. This is a serverless approach — no dedicated infrastructure to manage.

The actual cooking is the ETL process. A volunteer handles the 'extract' step by taking the unlabelled frozen meat and thawing it to identify what it is. Another volunteer does the 'transform' step by peeling the potatoes, dicing the meat, and measuring the spices into a standard recipe. A third volunteer does the 'load' step by placing the final, uniform soup portions into containers ready for serving. The entire operation happens in one rented shift, and the kitchen cleans up after itself. This is AWS Glue: a serverless service that catalogues, extracts, transforms, and loads data without the data engineer managing any servers.

How It Actually Works

AWS Glue is a fully managed, serverless data integration service. In plain English, it is a tool that moves and transforms data from one place to another, and it does so without you having to provision or manage any underlying computer servers. The term 'serverless' means that AWS handles all the heavy lifting of the hardware — you write the code, you define the source and target, and AWS runs it for you. You pay only for the compute time your job actually uses.

At its heart, AWS Glue is built around three main components: the Data Catalog, the ETL engine, and the scheduler. The Data Catalog is a central metadata repository. Metadata is 'data about data' — it records what your datasets are, where they are located (for example, in an Amazon S3 bucket), what format they are in (CSV, JSON, Parquet, and so on), and the schema (the names and data types of each column like 'customer_id' as an integer or 'order_date' as a date). Think of it as a card catalogue in a library that tells you which shelf a book is on and who wrote it.

The ETL engine is the part that actually does the Extract, Transform, and Load work. Extract means reading data from a source. Transform means cleaning, filtering, aggregating, or converting the data into the desired format. Load means writing the transformed data to a target destination like a data warehouse (Amazon Redshift), a data lake (Amazon S3), or a database (Amazon RDS). AWS Glue uses Apache Spark under the hood, which is a powerful distributed processing framework. But you do not need to understand Spark deeply — Glue provides both a visual interface (called AWS Glue Studio) and the option to write code in Python or Scala.

The scheduler lets you set your ETL jobs to run on a regular basis — hourly, daily, or when a new file arrives. This is crucial for production pipelines that need to refresh data continuously.

AWS Glue also offers specific tooling:

AWS Glue Crawlers: These are automated programs that scan your data sources, infer the schema (the structure of the data), and populate the Data Catalog. You point a crawler at an S3 bucket, and it figures out the column names and data types.

AWS Glue ETL Jobs: These are the actual data transformation scripts. You can write them in Python (with the PySpark library) or Scala.

AWS Glue Studio: A drag-and-drop visual interface where you can design ETL workflows without writing code.

AWS Glue DataBrew: A visual data preparation tool for cleaning and normalising data without writing any code.

AWS Glue Workflows: A way to orchestrate multiple crawlers, jobs, and triggers together into a single pipeline.

Why does it exist? Before AWS Glue, data engineers had to manually set up Apache Hadoop or Apache Spark clusters on Amazon EMR or EC2. They had to manage the cluster size, install software patches, handle failures, and monitor performance. This was time-consuming and required deep expertise. AWS Glue automates all that setup. It also solves the problem of 'schema-on-read' confusion, where different teams have different interpretations of raw data. By providing a central Data Catalog, AWS Glue ensures everyone knows the official schema.

What does it replace? It replaces the traditional, manual process of:

Building and managing your own ETL infrastructure (clusters of servers).

Writing extensive boilerplate code to handle data format conversions.

Manually maintaining metadata in spreadsheets or separate databases.

Hard-coding schedules for data processing.

In the exam, you must understand that AWS Glue is purpose-built for data preparation and integration. You will see questions that ask you to recommend a service for a serverless ETL pipeline, and the correct answer will almost always be AWS Glue if the question mentions 'serverless', 'crawler', 'catalog', or 'schema inference'. You will also need to know the difference between Glue ETL and alternatives like Amazon EMR (which requires cluster management) or AWS Lambda (which is for short-running, event-driven functions, not heavy data transforms).

A real example: An e-commerce company receives raw clickstream data from its website every hour. The data arrives as JSON files in an S3 bucket. The company needs to clean this data, convert it to Parquet format (a columnar storage format that is faster and cheaper to query), and load it into Amazon Redshift for reporting. The data engineer sets up a Glue Crawler to infer the schema of the JSON files, then writes a PySpark script that extracts only the relevant fields, filters out bot traffic, and transforms the timestamp into a date format. Finally, the engineer schedules this job to run every hour using a Glue trigger. The entire pipeline is serverless — no EC2 instances to manage.

This diagram shows how raw data flows through a Glue Crawler into the Data Catalog, then through an ETL job developed in Glue Studio or DataBrew, and finally to a clean target destination.

Walk-Through

1

Define the Source and Target

You identify where the raw data lives (Amazon S3, relational database, DynamoDB) and where you want the transformed data to end up (another S3 bucket, Amazon Redshift, Amazon RDS). This decision drives everything else.

2

Create a Glue Data Catalog Table

You populate the Data Catalog by running a Crawler that scans the source, infers the schema, and creates a table definition. This step makes your data discoverable and queryable, and it is essential for Glue jobs to know the data structure.

3

Develop the ETL Logic

You write a PySpark script or use AWS Glue Studio to define the transformations: filtering, joining, aggregating, renaming columns, and converting formats. This is the 'T' in ETL.

4

Deploy the Glue Job

You package your ETL script as an AWS Glue Job, allocate the number of DPUs (compute capacity), and choose the execution mode (standard or Flex). This step makes your transformation executable.

5

Schedule and Monitor

You attach a Trigger to the job (time-based or event-based) and set up CloudWatch alarms for failures. The job runs automatically, and you monitor its execution to catch any errors.

6

Orchestrate with Workflows (optional)

For complex pipelines, you combine multiple jobs, crawlers, and triggers into a Glue Workflow. This ensures that downstream jobs run only after upstream steps succeed, and you can visualise the entire pipeline.

What This Looks Like on the Job

An IT professional, typically a data engineer or data analyst, uses AWS Glue as the backbone of their daily data pipeline operations. Let us walk through a realistic scenario at a retail company called 'ShopNow' that sells products online and in physical stores.

ShopNow collects data from multiple sources: its e-commerce platform produces logs of every page view and purchase, its point-of-sale systems in stores generate transaction records, and its marketing team provides CSV files of campaign performance from Google Ads and Facebook. Each source has a different format and arrives at different times. The raw data lands in an Amazon S3 bucket named 'shopnow-raw-data'.

Step 1: The data engineer configures a Glue Crawler. The crawler is pointed at the S3 bucket. It scans the files, identifies that one folder contains JSON files, another contains CSV files, and a third contains Parquet files. The crawler then creates tables in the Glue Data Catalog. Each table has the correct column names, data types, and location. This takes 15 minutes of manual set-up and then runs automatically once a day.

Step 2: The engineer uses AWS Glue Studio, the visual interface, to design the ETL transformation. They drag a 'Source' node connected to the JSON tables for the e-commerce logs, another Source node for the CSV campaign files, and a third for the point-of-sale data. They add a 'Transform' node that joins all three datasets on a common key — the product ID. They then add a 'Filter' node to remove rows with NULL values in the price column and a 'Rename Field' node to standardise column names (for example, renaming 'c_id' to 'customer_id'). The entire visual pipeline is built in less than an hour with no code.

Step 3: The engineer configures a Glue Job that runs the ETL script generated by Glue Studio. The job reads the raw data, performs the transformations, and writes the final clean dataset as Parquet files into a separate S3 bucket called 'shopnow-clean-data'. The job is scheduled to run every night at 2 AM because the marketing data is uploaded by end of day.

Step 4: The engineer sets up an AWS Glue Trigger that detects when the nightly job finishes successfully. This trigger then kicks off a second Glue Job that loads the clean Parquet data into an Amazon Redshift table for the analytics team to query. This orchestration is defined as a Glue Workflow.

Step 5: A few weeks later, the marketing team adds a new data source — TikTok Ads. The engineer runs a new Crawler on the TikTok data to update the Data Catalog. They then edit the existing Glue Job in Glue Studio to include this new source. The job is updated and redeployed in minutes.

In real life, the data engineer also monitors job runs using AWS CloudWatch, sets up alerts for failures, and occasionally optimises the job by adjusting the number of Data Processing Units (DPUs) — the compute capacity allocated to a Glue Job. They might also use Glue DataBrew for quick data cleanup tasks, like removing outliers or correcting date formats, without writing code.

The key takeaway for the professional is speed. What used to take a team of engineers a week to set up — a data pipeline with schema discovery and transformation — now takes one person a couple of hours with AWS Glue.

How DEA-C01 Actually Tests This

The DEA-C01 exam tests AWS Glue extensively in Domain 4.1. Expect to see multiple-choice questions, scenario-based questions, and possibly matching questions. The exam wants you to determine when to use Glue versus competing services and how the components fit together.

Exact concepts the exam loves to test:

The Glue Data Catalog is separate from the ETL engine. You can use the Data Catalog without running any ETL jobs. The exam might ask: 'Which service provides a central schema repository?' The answer is Glue Data Catalog.

Glue Crawlers infer schemas but they do not transform data. A crawler only detects schema and populates metadata. If a question asks for a tool that updates table definitions automatically, the answer is a Glue Crawler.

Glue ETL runs in a serverless Apache Spark environment. The exam expects you to know that Python (PySpark) and Scala are the supported languages.

Glue Workflows orchestrate multiple jobs and crawlers into a dependency chain.

Glue DataBrew is a visual tool for cleaning data. It does not do full ETL — it is for ad-hoc data preparation.

Glue Studio is for visually designing ETL pipelines. It generates PySpark code automatically.

The exam tests pricing: Glue charges per DPU-hour. Flex execution mode charges per DPU-hour but can scale down to zero when idle, saving costs.

Glue supports many sources: S3, Redshift, RDS, DynamoDB, JDBC connections. It also supports targets like S3, Redshift, and Lake Formation.

Common traps set by the exam:

Trap: 'Use AWS Lambda for ETL.' Lambda is for short-running functions (max 15 minutes) and is not suitable for large data transformations. Glue is the correct answer for heavy ETL.

Trap: 'Use Amazon EMR.' EMR requires provisioning and managing a cluster. If the question says 'serverless', EMR is wrong and Glue is right.

Trap: 'Use AWS Glue for real-time streaming.' Standard Glue is for batch processing. For streaming, use Glue Streaming (which is an extension) or Amazon Kinesis Data Analytics.

Trap: 'The Glue Data Catalog is automatically populated.' It is not — you must run a Crawler or manually define tables.

Trap: 'Glue can read data from on-premises databases directly without any extra setup.' It requires a Glue Connection configured with network access (like a VPN or AWS Direct Connect).

Key definitions to memorise:

ETL: Extract, Transform, Load.

Data Catalog: Metadata repository.

Crawler: Schema inference tool.

DPU: Data Processing Unit, the measure of compute capacity.

Workflow: Orchestration of multiple Glue actions.

Job: The actual executable ETL script.

Trigger: Starts a job based on a schedule or event.

DataBrew: Visual data preparation.

Glue Studio: Visual ETL development.

Question types: You will see 'Which AWS service should a company use to...' questions. The correct answer is Glue if the scenario mentions: - 'Run ETL jobs without managing servers' - 'Automatically discover data schema from S3' - 'Centralise metadata across the organisation' - 'Transform data from S3 to Redshift'

You will also get direct definition questions like 'What is a Glue Crawler used for?' Answer: 'To automatically scan data sources, infer schema, and populate the Glue Data Catalog.'

Key Takeaways

AWS Glue is a serverless ETL service — you do not manage any underlying servers or clusters.

The Glue Data Catalog is a central metadata repository that stores table schemas and locations, not the actual data.

A Glue Crawler automatically infers the schema of your data sources and populates the Data Catalog.

You can design ETL pipelines visually in AWS Glue Studio without writing code.

Glue jobs run on Apache Spark and support Python (PySpark) and Scala.

Glue Workflows allow you to orchestrate multiple crawlers, jobs, and triggers into a single pipeline with dependencies.

Glue DataBrew is a visual data preparation tool for cleaning data without coding.

You pay per DPU-hour for Glue jobs, and you can use Flex execution mode to reduce costs when jobs have flexible time requirements.

Easy to Mix Up

These come up on the exam all the time. Here's how to tell them apart.

AWS Glue

Serverless — no infrastructure to manage

Priced per DPU-hour, only when jobs run

Limited to PySpark and Scala for ETL jobs

Amazon EMR

Requires provisioning and managing a cluster of EC2 instances

Priced per instance-hour, including idle time

Supports any framework (Spark, Hive, HBase, Presto, Flink) with full customisation

AWS Glue Data Catalog

Stores metadata only (schema, location, partitions)

Used by ETL jobs and crawlers for schema discovery

Can be queried directly via Athena, Redshift Spectrum, or EMR

AWS Athena

Used for querying data in S3 using SQL directly

Does not store metadata — it uses the Glue Data Catalog as its schema source

Requires the Data Catalog to already be populated

AWS Glue ETL (Batch)

Designed for large-scale data transformation (GB to TB)

Execution time can be hours

Runs on Apache Spark in a managed environment

AWS Lambda (Data Processing)

Designed for short-running functions (max 15 minutes)

Best for small data transformations or event-driven processing

Stateless and runs in a flexible runtime environment

Glue Crawler

Automatically infers schema from data

Can run on a schedule to discover new partitions

May not handle complex nested schemas perfectly

Manual Table Definition in Glue Data Catalog

Requires you to define schema manually column by column

Does not update automatically when data changes

Gives you full control over schema types and names

AWS Glue Studio (Visual ETL)

Designs full ETL pipelines with multiple steps and joins

Generates PySpark code that can be deployed as a Glue Job

Best for complex transformations and orchestration

AWS Glue DataBrew (Visual Preparation)

Focuses on data cleaning and normalisation for quick ad-hoc tasks

Does not generate reusable job code for production pipelines

Best for profiling data, removing outliers, fixing data types

Watch Out for These

Mistake

AWS Glue automatically transforms my data without me writing any code or configuring anything.

Correct

Glue can crawl and catalogue data automatically, but you must still define and deploy an ETL job (either visually in Glue Studio or with code) to perform transformations.

The 'automatic' nature of the Data Catalog and crawlers makes people think the ETL is also automatic, but the transformation logic must still be specified by the user.

Mistake

AWS Glue can only work with data stored in Amazon S3.

Correct

Glue supports many source types, including Amazon RDS, Amazon Redshift, DynamoDB, JDBC-compatible databases (like MySQL, PostgreSQL), and on-premises databases via connections.

Beginners often associate Glue only with S3 because it is a common example, but the service is database-agnostic.

Mistake

The Glue Data Catalog stores the actual data from my source systems.

Correct

The Data Catalog stores only metadata — table definitions, schema, location, and partition information — not the actual data rows.

The word 'Catalog' sounds like a data store, leading beginners to think it holds data, but it only holds references to data.

Mistake

AWS Glue jobs run indefinitely and I will be charged for idle time.

Correct

Glue jobs run only when triggered (on a schedule or event) and you pay only for the DPU-hours consumed during job execution. Idle jobs do not incur cost.

With traditional servers, you pay for idle resources. The 'serverless' billing model can be confusing because cost is tied to compute usage, not running time of a service.

Mistake

AWS Glue is a real-time streaming data processing service like Apache Kafka.

Correct

Glue is primarily a batch ETL service. Glue Streaming exists but is not equivalent to real-time stream processing services like Amazon Kinesis Data Analytics or Apache Flink.

The popular narrative around 'big data' often conflates batch and streaming, and beginners assume 'processing data' means real-time.

Mistake

I cannot use custom Python libraries with AWS Glue jobs.

Correct

You can install additional Python packages during job initialisation by providing a requirements.txt file or by using wheels stored in S3.

Newcomers sometimes think managed services are restrictive, but Glue offers good flexibility for custom code.

Do You Actually Know This?

Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.

Frequently Asked Questions

What exactly does 'serverless' mean in the context of AWS Glue?

Serverless means AWS handles all infrastructure provisioning, scaling, and maintenance for you. You write your ETL code and define the schedule, and AWS automatically runs it on appropriately sized servers without you having to set up or manage any EC2 instances or clusters.

Can I use AWS Glue to process streaming data in real time?

Yes, but with limitations. AWS Glue offers Glue Streaming for real-time data from Amazon Kinesis Data Streams or Amazon MSK (Managed Streaming for Apache Kafka). However, it is not as feature-rich as dedicated stream processing services and is often used for simple transformations on streaming data.

How is AWS Glue different from Amazon EMR?

AWS Glue is serverless — you do not manage clusters. Amazon EMR requires you to provision and manage a cluster of EC2 instances. Glue is easier to set up but less customisable; EMR gives you full control over the environment and allows you to install any tools.

Do I need to know Apache Spark to use AWS Glue?

Not necessarily. You can use AWS Glue Studio to design ETL pipelines with a drag-and-drop interface, which generates the PySpark code for you. However, for advanced transformations or custom logic, knowing PySpark is helpful.

What is a Glue Crawler and when should I use it?

A Glue Crawler is an automated tool that scans your data sources, infers the schema (column names and data types), and creates entries in the Glue Data Catalog. Use it whenever you have new or changing data sources and want automatic schema discovery.

How much does AWS Glue cost?

You pay per DPU-hour for the time your Glue jobs are running. Additionally, you pay for any data stored in the Data Catalog and for requests to the Catalog. There are no charges for idle time because Glue does not provision resources until a job starts.

Terms Worth Knowing

Keep going

You've finished AWS Glue: Serverless ETL and Data Catalog for Data Preparation. Continue through the DEA-C01 study guide to build a complete picture of the exam.

Done with this chapter?