Configure a catalog integration for Snowflake Open Catalog¶
Create a catalog integration for Snowflake Open Catalog, which you can use to query a table in Snowflake Open Catalog using Snowflake or sync a Snowflake-managed table with Open Catalog. For more information, see Use Apache Iceberg™ tables with Snowflake Open Catalog in Snowflake.
A catalog integration for Open Catalog is associated with a specific catalog and service connection in your Open Catalog account.
To create a catalog integration for Open Catalog, use the CREATE CATALOG INTEGRATION command.
CREATE OR REPLACE CATALOG INTEGRATION my_open_catalog_int
CATALOG_SOURCE = POLARIS
TABLE_FORMAT = ICEBERG
CATALOG_NAMESPACE = 'myOpenCatalogCatalogNamespace'
REST_CONFIG = (
CATALOG_URI = 'https://<orgname>-<my-snowflake-open-catalog-account-name>.snowflakecomputing.com/polaris/api/catalog'
CATALOG_NAME = 'myOpenCatalogExternalCatalogName'
)
REST_AUTHENTICATION = (
TYPE = OAUTH
OAUTH_CLIENT_ID = 'myClientId'
OAUTH_CLIENT_SECRET = 'myClientSecret'
OAUTH_ALLOWED_SCOPES = ('PRINCIPAL_ROLE:ALL')
)
ENABLED = TRUE;
To find your Snowflake organization name (
<orgname>
), follow the steps in Finding the organization and account name for an account.To find
<my-snowflake-open-catalog-account-name
, see Find the account name for a Snowflake Open Catalog account in the Snowflake Open Catalog documentation.
If you’re syncing a Snowflake-managed table with Open Catalog, don’t specify the CATALOG_NAMESPACE parameter. This parameter is not required and doesn’t affect how you sync the table with Open Catalog. Snowflake syncs the table to the external catalog in Open Catalog that you specify in the catalog integration, along with its parent namespace from Snowflake. For example, if you have a
db1.public.table1
Iceberg table registered in Snowflake and you specifycatalog1
in the catalog integration, Snowflake syncs the table with Open Catalog with the following fully qualified name:catalog1.db1.public.table1
.
Note
To check your authentication configuration, see Check a configuration for OAuth.