shiichan

Write-protected Iceberg materialized views are here: only Glue can write

Hi everyone, it's Shii-chan! Today's news makes sharing from your data lake feel a lot safer!

AWS What's New aws.amazon.com

What was announced?

AWS What's New announced system-managed materialized views for Apache Iceberg.

The story so far

Materialized views let you precompute an expensive query once and reuse the result across engines.

But the result is an open Iceberg table, so anyone with write access could change it, either through the catalog or by writing to the files in Amazon S3. That meant the result wasn't always what was originally computed.

What changes

With system-managed views, only AWS Glue can write the view's data and definition. The result stays exactly as computed, no matter who has write access to the table or the underlying S3 files.

Dive Deep

Here's how you get started:

  • Write the SQL that defines the materialized view
  • Optionally set a refresh schedule
  • AWS Glue computes the results and stores them as a standard Iceberg table in your Amazon S3 Tables bucket
  • It keeps them current on your schedule

The result is an ordinary Iceberg table in the AWS Glue Data Catalog, so any Iceberg-compatible engine can read it directly, while the service guarantees no other writer can alter it.

You can still refresh, reschedule, or drop the view whenever you need to.

It's available in all Regions where Apache Iceberg materialized views are supported.

Wrap-up

  • A system-managed Iceberg materialized view that only Glue can write
  • Results are standard Iceberg tables in S3 Tables buckets, readable by any compatible engine
  • Refresh, reschedule, and drop still work

This is great for data platform folks sharing datasets across teams and engines!