A practical guide to running Apache Iceberg on AWS, covering the two catalog options (Glue Data Catalog vs S3 Tables), query engines (Athena and EMR), and how to wire them together into an AWS-native lakehouse. Key decisions include: choosing S3 Tables for zero-ops managed maintenance vs Glue plus your own buckets for storage control; using Athena for serverless SQL with merge-on-read DML; Spark on EMR for copy-on-write and backfills; and Flink on EMR for streaming CDC. The Glue Iceberg REST endpoint enables interoperability across PyIceberg, Spark, and federated catalogs. Critical operational rules: one catalog per table to avoid write corruption, and never skipping compaction and snapshot maintenance.
Table of contents
Iceberg on AWSThe Catalog Layer: Glue Data Catalog vs S3 TablesQuerying Iceberg: Athena and EMRInterop and Federation Over the Iceberg REST EndpointPutting It Together: An AWS-Native Lakehouse754 Impressions