Configure a catalog integration for Apache Iceberg™ REST catalogs¶
An Apache Iceberg™ REST catalog integration lets Snowflake access Apache Iceberg™ tables managed in a remote catalog that complies with the open source Apache Iceberg REST OpenAPI specification.
Snowflake supports the following additional features when you use an Iceberg REST catalog integration:
Authentication methods¶
Snowflake supports the following authentication methods for Iceberg REST catalogs:
OAuth
Bearer token or personal access token (PAT)
Signature Version 4 (SigV4)
Supported authentication methods vary by catalog source.
Credential rotation¶
To rotate the credentials for a catalog integration, you can use the ALTER CATALOG INTEGRATION command to update the credentials that Snowflake uses to authenticate with your remote catalog.
For example:
Connection options¶
This section describes the connection options for Iceberg REST catalogs.
Vended credentials¶
In addition to External volumes, Snowflake supports the following connection options for Iceberg REST catalogs:
Supported connection options vary by catalog source.
Private connectivity¶
Snowflake supports connecting to Iceberg REST catalogs through private connectivity.
However, when you connect to the catalog through private connectivity, you must use an external volume to connect to the catalog data.
Supported connection options vary by catalog source.
Catalog sources¶
Snowflake supports any external catalog server that complies with the Iceberg REST specification.
The following topics provide examples for commonly used REST catalogs:
Snowflake Open Catalog. These instructions also apply to Apache Polaris™.
Browsing a remote catalog¶
After you create a catalog integration for Iceberg REST, you can use the following Snowflake system functions to browse namespaces and tables in the catalog:
Migrate a table to a Iceberg REST catalog integration¶
After you create a catalog integration for Iceberg REST, if needed, you can replace the catalog integration associated with an externally managed Iceberg table in a standard Snowflake database with the catalog integration you created. For instructions, see SYSTEM$SET_CATALOG_INTEGRATION.
Create a catalog-linked database¶
After you create a catalog integration for Iceberg REST, you can create a catalog-linked database to bring the data from your remote Iceberg REST catalog into Snowflake. When you create the catalog-linked database, specify the name of the catalog integration you created as the catalog.
A catalog-linked database automatically discovers and stays in sync with the namespaces and tables in your remote catalog. You can use a catalog-linked database to read and write to the tables in your remote catalog from Snowflake, while preserving full interoperability with your existing Iceberg ecosystem. For more information, see the following topics:
If your external data is in Unity Catalog, see Tutorial: Set up bidirectional access to Apache Iceberg™ tables in Databricks Unity Catalog
If your external data is in AWS Glue, see Build Data Lakes using Apache Iceberg with Snowflake and AWS Glue