← Back to list

Dynamic Tables on Iceberg

A Dynamic Iceberg table is a specific type of table offered by Snowflake that combines the benefits of Dynamic Tables (automated data…

Shyamala Jayabalan in Snowflake Builders Blog: Data Engineers, App Developers, AI, & Data Science · 2025-10-27 19:01 · 0 claps · 3.1 min read
#dynamic-table #snowflake #apache #data-engineering #data-architecture
Open on Medium ↗
Wiki topics: 🔧 · Data Engineering 🏛️ · Architecture

Dynamic Tables on Iceberg

A Dynamic Iceberg table is a specific type of table offered by Snowflake that combines the benefits of Dynamic Tables (automated data transformation pipelines) with Apache Iceberg’s open table format features.

This integration allows you to run continuous, declarative data transformations on data stored externally in a data lake (like AWS S3 or Azure Blob Storage) while leveraging Iceberg’s transactional guarantees.

Why Use Dynamic Iceberg Tables?

This concept addresses the need to manage data transformations on large, distributed datasets without constantly moving or duplicating the data into a proprietary warehouse format.

Key Features and Benefits

  1. Automated Incremental Refresh: The dynamic table logic automatically detects changes in the underlying Iceberg data files and performs incremental updates, saving computation and ensuring the final transformed table meets its defined freshness target.
  2. No Data Duplication: You can process and transform data stored in your data lake (managed by Iceberg) using Snowflake compute without needing to ingest the full dataset into Snowflake’s internal storage.
  3. Openness and Interoperability: Because the data is stored in the open Iceberg format, it can still be accessed and processed by other engines that also support the Iceberg format, promoting data sharing across diverse tools.
  4. Declarative Pipelines: You define the desired end state of the data using a single CREATE DYNAMIC ICEBERG TABLE… AS SELECT statement. The platform handles the complex orchestration, scheduling, dependency checking, and change management automatically.

Creating a Dynamic Iceberg Table

The creation is similar to a standard dynamic table, but requires specifying the external storage configuration, such as an External Volume and Base Location.

External volume creation

Please follow steps as in the mentioned documentation

Snowflake documentation — https://docs.snowflake.com/en/user-guide/tables-iceberg-configure-external-volume

Check the external volume setup

Iceberg Table Creation

Dynamic Iceberg Table Creation

Manual Refresh

Considerations and Limitations

  • Dynamic Iceberg tables support the same data types as regular Iceberg tables in Snowflake. For more information, see Supported data types.
  • The Catalog is an account, schema, or database parameter that you can configure to be implicit, just like regular Snowflake managed Iceberg tables.
  • Dynamic Iceberg tables don’t currently support the IF NOT EXISTS clause. Using the IF NOT EXISTS clause throws an error if the target table already exists.
  • Dynamic Iceberg tables are currently only supported for CREATE statements. Specifying DYNAMIC ICEBERG in any other command (for example, ALTER DYNAMIC ICEBERG TABLE <name>) results in an error.
  • You can’t clone dynamic Iceberg tables. Additionally, cloning a database or schema containing a dynamic Iceberg table does not clone the table to the new location.

Conclusion

Dynamic tables built on Apache Iceberg represent a significant advancement in data lake architecture. By combining Iceberg’s robust transactional capabilities and schema evolution with the continuous processing power of streaming engines, organizations can achieve unparalleled data freshness, consistency, and simplicity in their data pipelines. As the demand for real-time insights continues to grow, dynamic tables on Iceberg will undoubtedly play a pivotal role in shaping the future of data management.

References

https://docs.snowflake.com/en/user-guide/dynamic-tables-create-iceberg


메타데이터
post_id
f7879f10a1f2
slug
dynamic-tables-on-iceberg-f7879f10a1f2
url
https://medium.com/snowflake/dynamic-tables-on-iceberg-f7879f10a1f2
canonical_url
https://medium.com/snowflake/dynamic-tables-on-iceberg-f7879f10a1f2
author_url
https://medium.com/@shyamala.jayabalan
status
ok
fetched_at
2026-07-18 16:14:08