为 Snowflake Open Catalog 配置目录集成¶
为 Snowflake Open Catalog 创建一个目录集成,借此您可以使用 Snowflake 查询 Snowflake Open Catalog 中的表,或将 Snowflake 管理的表与 Open Catalog 同步。有关更多信息,请参阅 在 Snowflake 中将 Apache Iceberg™ 表与 Snowflake Open Catalog 结合使用。
Open Catalog 的目录集成与 Open Catalog 账户中的特定目录和服务连接相关联。
要为 Open Catalog 创建目录集成,请使用 CREATE CATALOG INTEGRATION 命令。
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.cn/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;
要找到您的 Snowflake 组织名称 (
<orgname>
),请按照 查找账户的组织和账户名称 中的步骤进行操作。在 Snowflake Open Catalog 文档中查找
<my-snowflake-open-catalog-account-name
, see Find the account name for a Snowflake Open Catalog account。
如果您要将 Snowflake 管理的表与 Open Catalog 同步,请不要指定 CATALOG_NAMESPACE 参数。此参数不是必需的,不会影响您将表与 Open Catalog 同步的方式。Snowflake 将表同步到您在目录集成中指定的 Open Catalog 外部目录,并同步其在 Snowflake 中的父命名空间。例如,如果您在 Snowflake 中注册了一个
db1.public.table1
Iceberg 表,并且在目录集成中指定了catalog1
,则该表将与 Open Catalog 同步,并使用以下完全限定名称:catalog1.db1.public.table1
。
备注
要检查您的身份验证配置,请参阅 检查 OAuth 的配置。