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…

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
- 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.
- 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.
- 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.
- 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