CREATE ICEBERG TABLE¶
在当前/指定架构中创建或替换 Apache Iceberg™ 表。
语法¶
本节概述了 所有 类型的 Iceberg 表的语法。创建 Iceberg 表的语法差异很大,具体取决于您是将 Snowflake 用作 Iceberg 目录还是外部 Iceberg 目录。
要查看特定用例的语法、参数说明、使用说明和示例,请参阅以下页面:
使用 Snowflake 作为 Iceberg 目录
外部 Iceberg 目录
CREATE ICEBERG TABLE(REST 或 Snowflake Open Catalog)
小技巧
要将远程 REST 目录中的表自动引入 Snowflake,您可以 :doc:` 创建一个与目录关联的数据库 </user-guide/tables-iceberg-catalog-linked-database>`。使用与目录关联的数据库时,您无需创建单独的外部管理 Iceberg 表即可从 Snowflake 访问远程目录中的现有表。此外,您可以结合使用与目录关联的数据库与 CREATE ICEBERG TABLE(目录链接的数据库) 或 CREATE ICEBERG TABLE(目录链接的数据库)... AS SELECT 语法变体,从 Snowflake 创建新的远程 Iceberg 表。
使用 Snowflake 作为 Iceberg 目录¶
其中:
有关其他内联约束的详细信息,请参阅 CREATE | ALTER TABLE ... CONSTRAINT。
备注
Snowflake 表示定义为 PRIMARY KEY 的列,作为 Iceberg 元数据中的标识符字段。这些列的 IDs 在元数据中填充为 标识符字段 IDs (https://iceberg.apache.org/spec/#identifier-field-ids)。
Snowflake 不对 Iceberg 表的 PRIMARY KEY 列强制执行 NOT NULL 和 UNIQUE 约束条件。
有关其他行外约束的详细信息,请参阅 CREATE | ALTER TABLE ... CONSTRAINT。
有关更多信息,请参阅 CREATE ICEBERG TABLE(使用 Snowflake 作为 Iceberg 目录)。
CREATE ICEBERG TABLE ...AS SELECT(也称为 CTAS)¶
有关更多信息,请参阅 CREATE ICEBERG TABLE ...AS SELECT。
CREATE ICEBERG TABLE ... LIKE¶
有关更多信息,请参阅 CREATE ICEBERG TABLE ... LIKE。
外部 Iceberg 目录¶
Iceberg REST(包括 Snowflake Open Catalog)¶
小技巧
要将远程 REST 目录中的表自动引入 Snowflake,可以 :doc:` 创建一个与目录关联的数据库 </user-guide/tables-iceberg-catalog-linked-database>`。使用与目录关联的数据库时,您无需创建单独的外部管理 Iceberg 表即可将远程表引入 Snowflake。
其中:
有关更多信息,请参阅 CREATE ICEBERG TABLE(Iceberg REST 目录)。
目录链接的数据库中的 Iceberg REST¶
其中:
有关更多信息,请参阅 CREATE ICEBERG TABLE(Iceberg REST 目录)。
Delta 文件¶
有关更多信息,请参阅 CREATE ICEBERG TABLE(对象存储中的 Delta 文件)。
对象存储中的 Iceberg 文件¶
有关更多信息,请参阅 CREATE ICEBERG TABLE(对象存储中的 Iceberg 文件)。