Snowflake Storage for Apache Iceberg™ Tables¶
This preview introduces support for Snowflake Storage for Apache Iceberg™ Tables.
Just like standard Snowflake tables, this feature lets you to create Snowflake-managed Iceberg tables in Snowflake. With this option, Snowflake stores and manages the Iceberg table files for you by using Snowflake (internal) storage, so you don’t need to set up access to external cloud storage.
This feature works with the Snowflake Horizon Catalog, so you can use an external query engine to connect to an Iceberg table that uses Snowflake storage. For more information, see Abfragen von Apache Iceberg™-Tabellen mit einer externen Engine über Snowflake Horizon Catalog. In addition, you can query these same tables in Snowflake.
Bemerkung
This feature is currently available only for accounts hosted on Amazon Web Services (AWS) or Azure.
Create an Iceberg table with Snowflake storage¶
To create an Iceberg table that uses Snowflake storage:
Create an external volume with the new option for Snowflake storage:
STORAGE_PROVIDER = 'SNOWFLAKE':CREATE OR REPLACE EXTERNAL VOLUME my_ext_vol STORAGE_LOCATIONS = (( NAME = 'loc_name' STORAGE_PROVIDER = 'SNOWFLAKE' ));
The
STORAGE_PROVIDERmust be'SNOWFLAKE'.Bemerkung
You can set this as the default external volume at different levels. For more information, see Externes Standardvolumen auf Konto-, Datenbank- oder Schema-Ebene festlegen. With this option, you can omit the EXTERNAL_VOLUME parameter from your CREATE ICEBERG TABLE statement.
Create an Iceberg table:
CREATE ICEBERG TABLE my_iceberg_table_internal (col1 int) CATALOG = SNOWFLAKE EXTERNAL_VOLUME = my_ext_vol;
Warnung
The Iceberg table that you create uses catalog-vended credentials. When you clone an Iceberg table that uses catalog-vended credentials, the cloned table shares the same base location as the source table. The same credentials can be used to access the shared base location, so the cloned table has write access to the source table.
Considerations¶
Consider the following when you work with Iceberg tables that use Snowflake storage:
This feature is currently available only for accounts hosted on Amazon Web Services (AWS) or Azure.
During the preview period, you can see information about the storage usage for a table in the
STAGE_BYTEScolumn of the Ansicht STORAGE_USAGE.