为 Iceberg 表配置目录集成

本主题提供的信息可帮助您创建和配置 Iceberg 表的 目录集成。要创建使用外部 Iceberg 目录或根本不使用目录的Iceberg 表,您必须指定目录集成。

备注

仅当您想要使用外部 Iceberg 目录创建只读 Iceberg 表时才需要目录集成。您不需要目录集成来创建使用 Snowflake 作为 Iceberg 目录的 Iceberg 表。要将 Snowflake 用作目录,请在 CREATE ICEBERG TABLE(使用 Snowflake 作为 Iceberg 目录) 命令中将 CATALOG 参数设置为 SNOWFLAKE

创建目录集成

您可以创建并配置目录集成,以便与一个或多个 Iceberg 表配合使用。

有关具体说明,请参阅以下主题:

在账户、数据库或架构级别设置目录集成

要定义用于 Iceberg 表的现有目录集成,您可以在以下几个级别上设置 CATALOG

账户:

账户管理员可以使用 ALTER ACCOUNT 命令设置账户的参数。如果为账户设置了该值,则在该账户中创建的所有使用外部目录的 Iceberg 表默认使用该目录集成。

对象:

用户可以执行适当的 CREATE <object>ALTER <object> 命令,以在数据库或架构级别上替换 CATALOG 参数值。系统会使用适用范围级别最低的声明:架构 > 数据库 > 账户。

除使用适当的 ALTER <object_type_> 命令修改对象所需的最小权限之外,角色还必须拥有目录集成的 USAGE 权限。

备注

对 CATALOG_INTEGRATION 参数的更改仅适用于更改 之后 创建的表。现有表将继续使用创建时指定的目录集成。

示例

以下语句为名为 my_database_1 的数据库设置目录集成 (shared_catalog_integration):

ALTER DATABASE my_database_1
  SET CATALOG = 'shared_catalog_integration';
Copy

在数据库级别设置目录集成后,可以在该数据库中创建 Iceberg 表,而无需指定目录集成。以下语句利用 my_database_1 的对象存储中的元数据创建 Iceberg 表,该数据库使用为数据库设置的默认目录集成 (shared_catalog_integration)。

CREATE ICEBERG TABLE my_iceberg_table
   EXTERNAL_VOLUME='my_external_volume'
   METADATA_FILE_PATH='path/to/metadata/v1.metadata.json';
Copy
语言: 中文