Product and Technology

Announcing Apache Iceberg v3 Support in Public Preview on Snowflake

Apache Iceberg™ continues to be the industry-standard format for interoperable storage. The latest Iceberg v3 table spec, which we celebrated as an achievement by the open source community last June, has further cemented its status as a top-level storage format. We are now thrilled to announce that Iceberg v3 support is now in public preview on Snowflake.

In this post, we highlight how supporting Iceberg v3 represents a critical step forward for open and interoperable data strategy by directly unlocking key modern use cases with Snowflake’s superior performance. Whether you are standardizing on Snowflake managed or externally managed Apache Iceberg™ tables, you now get public preview access to capabilities such as unlocking complex change data capture (CDC) pipelines with row lineage and declarative simplicity, and the ability to work with variant as a flexible, semi-structured data type with structured query performance. Snowflake also supports deletion vectors, default values, geospatial data (geometry and geography) and nanosecond timestamps, unlocking even more use cases.

While Iceberg v3 introduces powerful new table format features that enable modern use cases, true enterprise adoption demands a platform that supports unified governance, security and business continuity controls. This post will also cover how Snowflake’s AI Data Cloud, powered by Horizon Catalog, delivers a secure, consistent and highly available platform for your open and interoperable lakehouse, making your v3 tables production-ready from Day 1.

Dive straight into the technical details in our documentation for Iceberg v3 support or get hands-on with this guide.

Row lineage unlocks change data capture

Iceberg v3 introduces native row lineage metadata. In previous versions of Iceberg, there was no definitive, shared way to identify whether changes made to a table were new records, deleted records or updated records, making CDC use cases very limited or impossible. Now with row lineage required in write operations to v3 Iceberg tables, there’s a common understanding for what changes were made to which records.

Figure 1: Row lineage enables CDC on Iceberg tables.
Figure 1: Row lineage enables CDC on Iceberg tables.

Snowflake leverages row lineage metadata under the hood of Dynamic Iceberg Tables and Streams on v3 Iceberg tables to power CDC use cases with efficient, incremental processing directly on your open data lake. Dynamic Iceberg Tables, in particular, simplify CDC use cases with declarative syntax, automatic orchestration and intelligent, cost-efficient refreshes. Snowflake’s support for row lineage encompasses INSERT, UPDATE, DELETE and MERGE operations for both Snowflake managed and externally managed Iceberg tables.

Figure 2: CDC and transformation pipelines can be simplified with Dynamic Iceberg Tables on Snowflake.
Figure 2: CDC and transformation pipelines can be simplified with Dynamic Iceberg Tables on Snowflake.

Fast, flexible semi-structured data with variant

Before the variant data type was introduced in Iceberg v3, handling semi-structured data in Iceberg tables required a trade-off between efficiency and flexibility, forcing users to store JSON either as strings (requiring slow, expensive full-parsing at query time) or as rigid, wide schemas with thousands of nullable columns (causing frequent schema changes and metadata bloat). With the introduction of variant, it is now possible to store diverse, deeply nested data in a single column using a high-performance binary encoding. This encoding allows engines to prune files and push down filters into subfields without parsing the entire blob, effectively bringing the performance of structured columns to the flexibility of JSON.

Quote Icon

Iceberg v3 support for the variant data type is a major unlock for the industry. I'm anticipating a surge in observability solutions built on Iceberg as a result. Snowflake’s long track record with variant shredding at enterprise scale make it a no-brainer to power these solutions, now with Iceberg in the mix.

Jacob Leverich
Co-Founder & CTO, Observe
Figure 3: The variant data type makes semi-structured data pipelines more flexible and analytics faster.
Figure 3: The variant data type makes semi-structured data pipelines more flexible and analytics faster.

Snowflake’s long-standing support for the variant data type now extends to Iceberg tables with v3, which includes support for batch (COPY), microbatch (Snowpipe) and streaming (Snowpipe Streaming) pipelines directly into Iceberg tables with automatic subcolumnarization (“shredding”) for highly optimized read performance.

More precise timestamps

With support for nanosecond-precision timestamps, v3 Iceberg tables now match the timestamp precision of native Snowflake tables. This level of precision is often required in use cases such as high-frequency financial or Internet of Things data. Snowflake’s advanced time-series functionalities, such as ASOF JOIN and ML Forecasting, extend to Iceberg tables.

Geospatial data

Geometry and geography data types are now supported in v3 Iceberg, matching the geospatial data types of native Snowflake tables. Snowflake leverages bounding boxes and metadata for efficient pruning in geospatial analytics use cases with a plethora of geospatial functions.

Faster ingest and transformations with deletion vectors

Iceberg provides options in the form of copy-on-write and merge-on-read to optimize performance based on the needs of each use case. However, v2 positional deletes typically come with a performance trade-off based on granularity and number of delete files. Iceberg v3 improves this with deletion vectors as the default mode for merge-on-read, storing file-level granularity in fewer, consolidated files. Snowflake now supports deletion vectors for both reads and writes on v3 Iceberg tables, both Snowflake managed and externally managed catalogs, which can improve performance for update-, delete- and merge-heavy pipelines.

Secure interoperability and BCDR with Horizon Catalog

Horizon Catalog unifies discovery, governance and collaboration across your organization’s assets, including Iceberg tables, with built-in lineage, policies and security controls. Horizon Catalog exposes Iceberg tables through a standardized Iceberg REST interface, powered by Apache Polaris™ integrated into Horizon, so external engines can read Snowflake managed Iceberg tables, now including Iceberg v3.

Horizon helps you ensure your v3 Iceberg tables are governed and interoperable across your tools. This includes the ability to vend scoped, temporary storage credentials at runtime, which is increasingly becoming the industry standard for secure integration between engines, catalogs and blob storage.

Additionally, data protection policies such as row access and column masking on Iceberg tables — first made available on v2 and now applied to v3 Iceberg — are enforced when accessed through Apache Spark using the Snowflake Connector for Apache Spark™ (generally available).

Figure 4: Horizon Catalog’s Iceberg REST API now includes support for v3 Iceberg tables.
Figure 4: Horizon Catalog’s Iceberg REST API now includes support for v3 Iceberg tables.

Horizon Catalog is also key to enabling cross-region and cross-cloud resilience. Snowflake’s enterprise-grade business continuity and disaster recovery (BCDR) now includes support for replicating Snowflake managed v3 Iceberg tables to a secondary region or cloud with full integrity and consistency in the event that failover is needed.

Figure 5: Snowflake’s cross-cloud disaster recovery now includes support for v3 Iceberg tables.
Figure 5: Snowflake’s cross-cloud disaster recovery now includes support for v3 Iceberg tables.

Integrate securely with other Iceberg REST catalogs

There are two main dimensions to evaluate how well a platform lives up to aligning with a long-term strategy for interoperability:

  1. Does the platform’s catalog support reads and writes from other engines via an industry-standard API and security?
  2. Does the platform’s engine support reading from and writing to other platforms’ catalogs via an industry-standard API and security?

This blog post dives deeper into this topic, but unlike most other platforms that are still only partially interoperable or use less secure authorization mechanisms, Snowflake is delivering on both.

  1. Horizon Catalog provides an Iceberg REST API endpoint for reads (generally available) and writes (in private preview) with credential vending (as covered in the previous section).
  2. Snowflake’s engine can read and write to various catalogs via a catalog integration using vended credentials.
Figure 6: Secure, bidirectional interoperability with Snowflake.
Figure 6: Secure, bidirectional interoperability with Snowflake.

Snowflake’s public preview for Iceberg v3 includes the ability to read from and write to any Iceberg REST catalog that supports Iceberg v3 with catalog integrations, including the option to use catalog-vended credentials.

Get started

Iceberg v3 support is deeply integrated throughout the Snowflake platform, allowing you to benefit from unified governance on interoperable data throughout its entire lifecycle — from raw ingestion to transformation, table optimization, governance, collaboration, analytics and agentic AI applications.

Ultimately, this broadens the usefulness of your lakehouse, enabling functions that were previously too complex or simply out of reach. By automating such critical workflows as BCDR, fine-grained access controls on sensitive data, CDC pipelines and streaming ingestion, teams can stop wrestling with the trade-offs that typically accompany many fragmented lakehouses. And Snowflake is committed to supporting that every step of the way.

Ready to get started? Check out this hands-on guide to begin building with Iceberg v3 on Snowflake today, and learn more in public preview documentation.

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

Where Data Does More

  • 30-day free trial
  • No credit card required
  • Cancel anytime