Skip to main content

Amazon S3 Tables Iceberg catalog with OLake Go

Amazon S3 Tables is a managed Iceberg catalog. AWS runs compaction and snapshot cleanup on the tables for you.

Short answer. To write Iceberg tables to S3 Tables, create an OLake Go destination with catalog_type: s3tables and an IAM (Identity and Access Management) access key. OLake Go signs requests with AWS Signature Version 4 (SigV4). Athena reads the tables through its S3 Tables integration, Redshift through a Glue resource link, and Trino, Spark, DuckDB and Doris over REST (representational state transfer).

Key takeaways

  • Amazon S3 Tables is a managed Iceberg catalog where AWS runs compaction and snapshot cleanup for you.
  • OLake Go signs requests with SigV4, and Athena, Redshift, Trino, Spark, DuckDB and Doris read the tables.
  • Spark on EMR reads the S3 Tables catalog from EMR 7.5.

Last reviewed October 2026.

How OLake Go writes to Amazon S3 Tables​

OLake Go uses change data capture (CDC) where the source has it. It commits Iceberg tables to an S3 table bucket. AWS then handles table maintenance that you would otherwise schedule yourself.

No guide on this site uses S3 Tables yet. The S3 Tables setup page holds the destination reference, and the Glue catalog page covers the other AWS route.

When to use it​

  • You want AWS to run compaction and snapshot cleanup.
  • Athena, Redshift or Spark on EMR will read the tables.

When not to use it​

  • Athena is a reader and table names have upper-case letters. The Athena integration takes lowercase names only.
  • Spark on EMR runs a release before 7.5. The S3 Tables catalog needs EMR 7.5 or later.

What OLake Go needs

  • catalog_type: s3tables
  • Authentication OLake Go offers: IAM access key (SigV4).
  • Full destination reference: Amazon S3 Tables setup.

Engines that read Amazon S3 Tables

EngineReadsHow
Amazon AthenaYesS3 Tables catalog integration (lowercase names only)
Amazon RedshiftYesGlue resource link to the S3 Tables catalog
Apache DorisYesREST catalog with SigV4
Apache SparkYestype=rest with SigV4
DuckDBYesATTACH with ENDPOINT_TYPE s3_tables
SnowflakeYescatalog integration (read-only) (Not yet tested on this site.)
Spark on Amazon EMRYesS3 Tables catalog (EMR 7.5 and later)
StarburstYesS3 Tables (public preview in Galaxy)
TrinoYesREST catalog with SigV4

Each engine row comes from that engine's vendor documentation. The dated sources are on the engine's page, linked in the first column.

Guides that use Amazon S3 Tables

No guide uses Amazon S3 Tables yet.

Frequently asked questions​

How does OLake Go authenticate to S3 Tables?

With an IAM access key. Requests are signed with AWS Signature Version 4.

Can Athena and Redshift read S3 Tables?

Yes. Athena uses its S3 Tables catalog integration, and Redshift uses a Glue resource link to the S3 Tables catalog.

Is there a tested guide on S3 Tables?

Not yet. The Redshift guides on AWS Glue are the closest tested route.