CREATE CATALOG INTEGRATION(对象存储)¶
在账户中创建新的 目录集成 或替换以下源的现有目录集成:
Apache Iceberg™ 元数据文件
Delta 表文件
- 另请参阅:
ALTER CATALOG INTEGRATION、DROP CATALOG INTEGRATION、SHOW CATALOG INTEGRATIONS、DESCRIBE CATALOG INTEGRATION
语法¶
CREATE [ OR REPLACE ] CATALOG INTEGRATION [IF NOT EXISTS]
<name>
CATALOG_SOURCE = OBJECT_STORE
TABLE_FORMAT = { ICEBERG | DELTA }
ENABLED = { TRUE | FALSE }
[ COMMENT = '<string_literal>' ]
必填参数¶
name
用于指定目录集成的标识符(名称)的字符串;在账户中必须唯一。
此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,
"My object"
)。放在双引号内的标识符也区分大小写。有关更多信息,请参阅 标识符要求。
CATALOG_SOURCE = OBJECT_STORE
指定外部 Iceberg 元数据文件或对象存储中的 Delta 文件作为源。
TABLE_FORMAT = { ICEBERG | DELTA }
指定表格式。
ICEBERG
:在外部云存储位置中,通过元数据指定 Glue Iceberg 表或 Iceberg 表。DELTA
:指定 Delta 表。
ENABLED = { TRUE | FALSE }
指定目录集成是否可用于 Iceberg 表。
TRUE
允许用户创建引用此集成的新 Iceberg 表。引用此集成的现有 Iceberg 表通常能正常运行。FALSE
阻止用户创建引用此集成的新 Iceberg 表。引用此集成的现有 Iceberg 表无法访问表定义中的目录。
可选参数¶
COMMENT = 'string_literal'
字符串(字面量),用于指定集成注释。
默认:无值
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
CREATE INTEGRATION |
账户 |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
您无法修改现有目录集成;请改用 CREATE OR REPLACE CATALOG INTEGRATION 语句。
如果一个或多个 Apache Iceberg™ 表与目录集成关联,您无法删除或替换目录集成。
要查看依赖于目录集成的表,您可以使用 SHOW ICEBERG TABLES 命令和使用 RESULT_SCAN 对
catalog_name
列进行筛选的查询。备注
列标识符 (
catalog_name
) 区分大小写。指定与 SHOW ICEBERG TABLES 输出中显示的完全相同的列标识符。例如:
SHOW ICEBERG TABLES; SELECT * FROM TABLE( RESULT_SCAN( LAST_QUERY_ID() ) ) WHERE "catalog_name" = 'my_catalog_integration_1';
关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。
示例¶
以下示例创建一个集成,在外部云存储中使用 Iceberg 元数据。OBJECT_STORE 对应与 :doc:` 外部卷 <create-external-volume>` 关联的对象存储。
CREATE CATALOG INTEGRATION myCatalogInt CATALOG_SOURCE = OBJECT_STORE TABLE_FORMAT = ICEBERG ENABLED = TRUE;