Transactional Data Lake with Apache Iceberg, EMR Serverless & Athena

Part 8: Hands-on Tutorials · Hands-on Tutorials

Read the full tutorial: Transactional Data Lake with Apache Iceberg, EMR Serverless & Athena

Link verified 2026-08-23.

This tutorial adds Apache Iceberg as the table format over an S3 lake, using EMR Serverless Spark jobs to write ACID-compliant inserts, updates, and deletes, then querying the same tables from Athena with schema evolution and time travel.

It’s the hands-on version of Table Formats: Delta vs Iceberg vs Hudi, showing what that comparison’s abstract promises — ACID on object storage, safe schema change — look like as actual Iceberg table DDL and Spark write paths.

flowchart LR
    A[Source data] --> B[EMR Serverless Spark job]
    B --> C[Iceberg table on S3]
    C --> D[Glue Data Catalog - Iceberg metadata]
    D --> E[Athena queries, incl. time travel]

| ← Previous: Stream CDC into an S3 Data Lake in Parquet with AWS DMS | Next: Build Your Apache Hudi Data Lake on Amazon EMR → | |:—|—:|


Back to top

Independent, self-authored data architecture field notes.

This site uses Just the Docs, a documentation theme for Jekyll.