Skip to main content

Spark on Amazon EMR with Apache Iceberg and OLake Go

Spark on Amazon EMR reads every Iceberg delete format. It can process the tables that OLake Go keeps in sync with an operational database.

Short answer. To read replicated tables on EMR, run OLake Go with AWS Glue as the Iceberg catalog, or with Amazon S3 Tables, Polaris, Lakekeeper or Hive Metastore. Point Spark on EMR at the same catalog. Deletion vectors need EMR 7.12 or later, which ships Iceberg 1.10.

Key takeaways

  • Spark on EMR reads every Iceberg delete format, including deletion vectors from EMR 7.12.
  • It reads AWS Glue natively, and S3 Tables from EMR 7.5.
  • Athena and Redshift read the same Glue tables, so one copy serves SQL and Spark jobs.

Last reviewed October 2026.

How OLake Go gets data into Spark on Amazon EMR​

OLake Go uses change data capture (CDC) where the source has it and commits Iceberg tables to the catalog. Spark on EMR reads AWS Glue natively. S3 Tables works from EMR 7.5, and Polaris and Lakekeeper connect as REST (representational state transfer) catalogs.

No guide on this site runs EMR yet. The open-source Spark page covers the same catalog settings, and the Glue writer page covers the destination.

When to use it​

  • Spark jobs on AWS should transform or join the replicated tables.
  • You already run EMR and want one copy of the data in Glue that Athena can also query.

When not to use it​

  • You only need SQL over the tables. Athena reads the same Glue tables with no cluster.
  • The cluster runs a release before EMR 7.5 and the tables are in S3 Tables. The S3 Tables catalog needs EMR 7.5 or later.

Catalogs Spark on Amazon EMR reads

CatalogSpark on Amazon EMR readsHow
AWS GlueYesnative: Glue Data Catalog
Apache PolarisYesREST catalog
LakekeeperYesREST catalog
Amazon S3 TablesYesS3 Tables catalog (EMR 7.5 and later)
Hive MetastoreYesHive Metastore

Delete formats Spark on Amazon EMR reads

Equality deletes (v2)Positional deletes (v2)Deletion vectors (v3)
YesYesYes

Spark on EMR reads every delete format. Deletion vectors need EMR 7.12 or later (Iceberg 1.10). Set Spark on Amazon EMR as a target query engine on the OLake Go job and OLake Go picks a format it reads; with Spark on Amazon EMR as the only reader that is positional deletes (v2).

Sources: EMR: Iceberg release history (checked 2026-10-12).

Tested guides for Spark on Amazon EMR

No guide ends in Spark on Amazon EMR yet.

Frequently asked questions​

Which EMR release reads deletion vectors?

EMR 7.12 and later, which ship Iceberg 1.10.

Which catalogs can Spark on EMR use?

AWS Glue natively, Amazon S3 Tables from EMR 7.5, Hive Metastore, and Polaris or Lakekeeper as REST catalogs.

Is there a tested guide for EMR?

Not yet. The Spark checks on this site use the same catalogs with open-source Spark. See the Apache Spark page.