New · Cohort 3Engineering Analytics Cohort 3 goes live 25 July — only 30 seatsRegister Now
Interview Questions — AWS Glue

AWS Glue Interview Questions and Answers (2026)

The AWS Glue questions data-engineering interviews actually ask — crawlers, the Data Catalog, DynamicFrames, job bookmarks, and when Glue beats EMR or Lambda — with full answers.

By Durgesh Yadav — Senior Data Engineer @ 7-Eleven · Updated 2026-07-25. Preparation guidance, not a hiring guarantee.

What do AWS Glue interviews focus on?

AWS Glue interviews test the serverless ETL workflow: crawlers populating the Data Catalog, writing Glue jobs in Spark or Python shell, DynamicFrames versus Spark DataFrames, job bookmarks for incremental loads, and choosing Glue over EMR or Lambda for a given workload.

Guide

What To Learn And How To Practice

What AWS Glue interviews actually test

Interviewers want to know you understand Glue as a managed Spark-plus-catalog service, not just its buttons. Expect questions on the flow from a crawler inferring schema into the Glue Data Catalog, to a job reading that catalog, transforming data, and writing partitioned output to S3. They probe whether you know DynamicFrames (Glue's schema-flexible abstraction) versus Spark DataFrames, when to convert between them, and how job bookmarks let a job process only new data on each run. For data-engineering roles in India's GCCs and product companies, Glue often appears alongside S3, Athena, and Redshift, so they check that you can place it correctly in a lakehouse.

Crawler to Data Catalog to job to S3 flow
DynamicFrame vs DataFrame and when to convert
Job bookmarks for incremental processing
Where Glue sits with S3, Athena, and Redshift

How to prepare for a Glue interview

Build one end-to-end job you can talk through: a crawler over raw S3 data, a job that cleans and partitions it, and a second crawler or Athena query over the output. Learn the two job types — Spark (for large distributed transforms) and Python shell (for small, single-node tasks) — and when each fits. Be able to explain DynamicFrame resolveChoice, ApplyMapping, and relationalize at a conceptual level. Understand that Glue pricing is per DPU-hour, so cost questions come down to job duration and worker count. Practice describing partitioning and predicate pushdown, since interviewers use them to test whether you can make Glue jobs cheap and fast.

Build one crawler-to-job-to-S3 pipeline you can narrate
Know Spark jobs vs Python shell jobs and their fit
Explain DPU-hour cost and how partitioning cuts it
Practice ApplyMapping, resolveChoice, and relationalize

Common mistakes candidates make

The frequent miss is treating Glue as only a UI — strong candidates explain what happens underneath: Glue provisions Spark on managed workers, and a DynamicFrame is a wrapper that tolerates inconsistent schemas that would break a strict DataFrame. Another mistake is not knowing when NOT to use Glue: for a tiny event-driven transform, Lambda is cheaper and faster to start; for heavy, highly-tuned Spark with custom dependencies, EMR gives more control. Candidates also forget that crawlers cost money and can misinfer schema, so re-running them blindly is a real-world anti-pattern. Finally, many can't explain job bookmarks, which is the exact feature interviewers use to test incremental-load understanding.

Explain the managed Spark underneath, not just the console
Say when Lambda or EMR beats Glue
Know crawlers cost money and can misinfer schema
Be ready to explain job bookmarks precisely

Glue vs EMR vs Lambda — the tradeoff they probe

This comparison is almost guaranteed. Frame it by workload: Glue is serverless Spark with a built-in catalog, best for standard batch ETL where you want no cluster management. EMR is a managed Hadoop/Spark cluster, best when you need fine-grained tuning, custom libraries, long-running jobs, or non-Spark tools like Hive and Presto, and when sustained usage makes a persistent cluster cheaper. Lambda is best for small, event-driven transforms that finish within its time and memory limits, with near-instant start and the lowest cost at low volume. The senior answer names the deciding factors — cluster control, startup latency, cost at your volume, and whether you need the Data Catalog — rather than declaring one universally best.

Glue: serverless batch ETL, no cluster to manage
EMR: control, custom libs, long jobs, non-Spark tools
Lambda: small event-driven transforms, instant start
Decide on control, latency, cost, and catalog need

Question bank

16 interview questions with answers

Real questions from beginner to advanced, each with a concise model answer — practice them, then rehearse live in a mock interview.

EasyWhat is AWS Glue?

AWS Glue is a serverless data integration service for extract, transform, and load work. It provisions and manages Spark for you, provides a central metadata store called the Data Catalog, and runs jobs that read from sources like S3, transform data, and write results back — without you managing any servers or clusters.

EasyWhat is the Glue Data Catalog used for?

It stores metadata — table schemas, column types, and partitions — for your data. Crawlers populate it, Glue jobs read it, and other AWS services such as Athena and Redshift Spectrum query against the same catalog, so a single schema definition is shared across the analytics stack.

EasyWhat does a Glue crawler do?

A crawler connects to a data store, scans a sample of the data, infers the schema and partition structure, and creates or updates table definitions in the Data Catalog. It automates schema discovery so you do not have to define every table by hand.

EasyWhat are the two types of Glue jobs?

Spark jobs, which run distributed transformations across managed workers for large datasets, and Python shell jobs, which run a single-node Python script for small or lightweight tasks like calling an API or a small file transform. You pick based on data size and whether you need Spark's distribution.

EasyWhat is a DPU in AWS Glue?

A DPU, or Data Processing Unit, is Glue's unit of compute capacity combining CPU and memory. Glue jobs are billed per DPU-hour, so the cost of a job depends on how many DPUs (workers) it uses and how long it runs. Fewer DPU-hours means a cheaper job.

MediumExplain the difference between a DynamicFrame and a Spark DataFrame.

A DynamicFrame is Glue-specific and schema-flexible: it can hold multiple candidate types for a field and defer resolving them, which handles inconsistent source data gracefully. A DataFrame needs a fixed schema and gives you the full Spark SQL API. A common pattern is to read as a DynamicFrame, resolve types, convert to a DataFrame for rich transformations, then convert back to write.

MediumHow do job bookmarks enable incremental processing?

Glue persists state about the data a job has already handled — for example which S3 files or records were processed. On each subsequent run, the job reads that bookmark and processes only new data, skipping what it saw before. This lets you build incremental pipelines without manually filtering on a date or watermark column.

MediumWhat is the resolveChoice transform for?

resolveChoice handles fields where a DynamicFrame has detected more than one possible type, or ambiguity such as the same column appearing as both int and string. You tell Glue how to resolve it — cast to a single type, keep both as a struct, project one type, or make separate columns — so downstream steps get a clean, predictable schema.

MediumHow do you optimize the cost of a Glue job?

Reduce DPU-hours: right-size the number of workers, avoid over-provisioning, and shorten runtime. Partition output data and use predicate pushdown so jobs read only the partitions they need. Filter early to move less data through the job. Use job bookmarks so you process incremental data instead of full reloads, and prefer Python shell jobs for small tasks that do not need Spark.

MediumHow do partitioning and predicate pushdown help in Glue?

Partitioning organizes S3 data into folders by column values such as date, so queries and jobs can skip irrelevant partitions. Predicate pushdown means Glue applies a filter at read time, loading only the matching partitions rather than scanning everything. Together they cut the amount of data read, which lowers both runtime and cost and is a frequent interview point.

MediumHow do Glue, Athena, and Redshift Spectrum relate?

They share the Glue Data Catalog. Glue crawls and transforms data into S3 and registers tables in the catalog. Athena runs serverless SQL directly over those catalog tables in S3. Redshift Spectrum lets a Redshift cluster query the same external tables. So one catalog definition, built once, is reused for ETL, ad-hoc SQL, and warehouse queries.

MediumWhat is the relationalize transform used for?

relationalize flattens nested or semi-structured data — such as JSON with arrays and nested objects — into a set of flat, relational tables suitable for loading into a warehouse. It unnests arrays into separate tables with keys linking them back, which is how you get hierarchical source data into a form a relational store like Redshift can use.

HardWhen would you choose Glue over EMR, and when the reverse?

Choose Glue for standard batch Spark ETL when you want no cluster management, fast setup, and tight Data Catalog integration, and when workloads are intermittent. Choose EMR when you need cluster control — custom Spark tuning or libraries, long-running or interactive jobs, non-Spark engines like Hive or Presto, or sustained usage where a persistent right-sized cluster costs less than repeated serverless runs. The deciding factors are control, startup latency, tooling, and cost at your volume.

HardHow would you handle schema evolution in a Glue pipeline?

Avoid blindly re-crawling, which can overwrite a corrected schema. Options include using DynamicFrames with resolveChoice to tolerate new or changed types, enabling schema-change handling on the crawler with an update policy that only adds new columns, or managing schema explicitly in the job and validating incoming data. For frequently evolving data, storing in a format and catalog that supports evolution, and version-controlling the schema, is more robust than crawler auto-inference.

HardA Glue job is running slowly and costing too much. How do you diagnose it?

Check the Spark UI and Glue metrics for skew, spills, and stage times. Confirm the job reads only needed partitions via pushdown rather than scanning all of S3. Look for many small files, which hurt Spark throughput, and compact them. Verify worker count and type match the data size — both under- and over-provisioning waste money. Ensure job bookmarks are on so it processes incremental data, and check that expensive wide transformations or unnecessary shuffles are minimized.

HardHow do you orchestrate multiple Glue jobs with dependencies?

Use Glue Workflows or triggers to chain jobs and crawlers, where a trigger fires the next job on success or on a schedule. For more complex dependencies, branching, and cross-service steps, orchestrate with Step Functions or Managed Airflow, which give retries, conditional paths, and visibility. The senior point is separating orchestration from transformation logic so each job stays idempotent and independently retriable.

FAQ

Common Questions

What is the AWS Glue Data Catalog?

The Data Catalog is Glue's central metadata store: it holds table definitions, schemas, and partitions for data sitting in S3 and other sources. Crawlers populate it by inferring schema, and Glue jobs read from it. Its value is that other services — Athena, Redshift Spectrum, and EMR — can query the same catalog, so one schema definition serves the whole analytics stack.

What is the difference between a DynamicFrame and a DataFrame in Glue?

A DynamicFrame is Glue's own abstraction that tolerates inconsistent or unknown schemas, keeping multiple possible types per field until you resolve them — useful for messy source data. A Spark DataFrame requires a fixed schema and unlocks the full Spark SQL API. In practice you often read as a DynamicFrame, clean and resolve types, convert to a DataFrame for complex transformations, then convert back to write.

What are Glue job bookmarks?

Job bookmarks track what a job has already processed so that subsequent runs handle only new data. Glue persists state about processed files or records; on the next run it skips what it saw before. This is how you build incremental ETL in Glue without manually filtering by date, and interviewers use it to check that you understand incremental versus full loads.

When should you use EMR instead of Glue?

Choose EMR when you need cluster-level control: custom Spark configurations or libraries, long-running or interactive jobs, non-Spark tools like Hive, Presto, or HBase, or sustained workloads where a persistent, right-sized cluster is cheaper than repeated serverless runs. Glue wins when you want standard batch Spark ETL with zero cluster management and tight Data Catalog integration.

What is a Glue crawler and what are its downsides?

A crawler scans a data source, infers schema and partitions, and writes table definitions into the Data Catalog. Its downsides: it costs money per run, it can misinfer types on messy or evolving data, and re-running it blindly can overwrite a hand-corrected schema. Many teams crawl once to bootstrap, then manage schema explicitly rather than crawling on every load.

Next Step

Turn The Guide Into Practice

Use PrepNPlaced tools to turn this learning path into resume proof, targeted practice, and interview-ready explanations.

Practice AI Mock Interview