Cost-effective ETL with DuckDB and Amazon S3 Tables on AWS Glue
Big Data Blog
This article demonstrates how to run DuckDB, an embedded SQL engine, inside AWS Glue 6.0 jobs to perform cost-effective ETL operations on data in Amazon S3.
- DuckDB reads Parquet files from S3 via httpfs extension and writes Iceberg tables to Amazon S3 Tables through REST catalog
- AWS Glue 6.0 runtime (Amazon Linux 2023, Python 3.13) provides modern glibc compatibility for DuckDB native extensions
- Single-node vectorized execution eliminates shuffle and inter-node I/O overhead for datasets fitting in worker memory
- Measured results show DuckDB completed same workload in ~56 seconds at $0.0103 per run vs Spark at ~117 seconds and $0.0205
- Pattern complements Spark for SQL-centric jobs; switch back to PySpark for distributed workloads without infrastructure changes
- Complete walkthrough includes eCommerce order aggregation example with Lake Formation permissions and production error handling guidance
DuckDB on AWS Glue 6.0 provides a lightweight, cost-effective alternative for SQL-based transformations, enabling faster iteration and lower operational costs for scheduled ETL jobs.
The AWS News Feed is currently looking for gold sponsors. If you want to support the AWS community and reach a large audience of AWS professionals, consider sponsoring the AWS News Feed.
Related articles
Sep 11
2026
2026
Run DuckDB analytics on your Amazon DynamoDB data with zero-ETL
Mar 18
2025
2025
Streamlining access to tabular datasets stored in Amazon S3 Tables with DuckDB
Sep 9
2026
2026
Build declarative ETL pipelines with AWS Glue 6.0
Oct 1
2026
2026
AWS Glue Data Catalog now supports table optimization, statistics, and crawlers for Apache Iceberg V3
The AWS News Feed is currently looking for silver sponsors. If you want to support the AWS community and reach a large audience of AWS professionals, consider sponsoring the AWS News Feed.