版本说明¶
Snowflake Open Catalog 最新版本概述。
2024 年 11 月 7 日¶
外部目录的凭据交易现已默认禁用¶
在此版本中,外部目录的凭据交易现已默认禁用。外部目录不是由 Snowflake Open Catalog 管理的,因此 Open Catalog 不能强制执行某些目录结构层次。有关目录结构层次的更多信息,请参阅 管理目录内容。因此,在创建目录时,外部目录的凭据交易默认禁用。此外,现有的外部目录也已禁用。 但是您可以选择为外部目录启用凭据交易。有关详情,请参阅 为外部目录启用凭据交易。
2024 年 10 月 18 日¶
Snowflake Open Catalog:正式发布¶
在此版本中,我们很高兴地宣布正式发布 Snowflake Open Catalog,该目录之前名为 Polaris Catalog,是一项预览功能。在正式发布时,我们做了以下更新:
2024 年 8 月 8 日¶
在此版本中,我们很高兴地宣布 Open Catalog 中提供了以下新的增强功能。
Snowflake 现已支持对具有嵌套命名空间的表进行查询¶
之前,我们列出了一个限制,即 Snowflake 无法读取在 Open Catalog 中注册且位于嵌套命名空间下的表。Snowflake 现已支持查询位于嵌套命名空间下的表。例如,如果创建一个嵌套命名空间 namespace1.namespace1a.namespace1ab
,Snowflake 则可读取命名空间 namespace1ab
下分组的表。更多信息,请参阅 创建命名空间。
2024 年 7 月 30 日¶
在此版本中,我们很高兴地宣布在 Snowflake 上托管的 Open Catalog 的首次公开预览版具有以下功能:
Apache Iceberg™ Rest API¶
Open Catalog 提供了一个 Apache Iceberg Rest Catalog API,它支持任何支持 Apache Iceberg™ Rest 目录规范的查询引擎。
身份验证¶
用户可创建用于提供客户 ID 和客户端密钥服务凭据的服务连接。这些凭据通过使用 OAuth 2.0 进行身份验证。
Open Catalog 用户界面¶
Open Catalog 提供了一个 Web 应用程序,以简化目录管理。 在 UI 中,用户可管理目录、服务主体和服务主体的权限。
基于角色的安全模式¶
该系统包含一个基于角色的访问控制 (RBAC) 安全模型,因此客户可以管理目录上允许的每个用户或用户组的访问级别。更多信息,请参阅 访问控制。
凭据交易¶
对数据所在存储对象的访问权限由 Open Catalog 管理。 当用户请求访问一个表时,无论是读取还是写入,都会生成一个临时作用域存储凭据,并传回给调用引擎,引擎会向存储中数据所在的文件夹提供适当的访问权限。
用于 Open Catalog 的 Snowflake 仓库目录集成¶
Snowflake 中为 Open Catalog 提供了新的目录集成。该目录集成允许用户创建非托管的 Apache Iceberg™ 表,这些表指向位于 Open Catalog 中的表以供查询。
注意事项和限制¶
以下注意事项和限制适用于 Open Catalog,可能会有所变动:
注册
只有 Snowflake 客户才能注册 Open Catalog。
目录
Open Catalog 目前支持使用以下两个目录的 Apache Iceberg™ 表:
使用 Open Catalog 作为 Iceberg 目录
使用 Snowflake 作为 Iceberg 目录目前不支持 Snowflake 以外的外部 Iceberg 目录。如果要从其他外部目录添加 Iceberg 表,则须对其进行迁移。
虽然不能将 Glue 或 Tabular 等供应商的现有 Iceberg 表导入到 Open Catalog 的内部目录中,但可以将它们添加到外部目录中。
Snowflake 可以查询,但不能写入到 Open Catalog 管理的表。
Snowflake Iceberg 表在外部目录中可用的,但在 Open Catalog 中只能读取。
对于内部目录,不能跨命名空间重命名表。例如,不能将来自
/mytables/ns1/table1
的表重命名为/mytables/ns2/table1
。创建内部或外部目录时,不能为不同的目录指定与目录层次结构重叠的默认基本位置或允许的位置。例如,如果 catalog1 的默认基本位置是
s3://mytables/db1/schema1/table1
,那就不能将新目录的默认基本位置指定为s3://mytables/db1/
。
访问控制
表的作用域访问策略仅限于
<table_base>/metadata/
和<table_base>/data/
目录。
Iceberg
在调用 registerTable API 时,不能在父命名空间目录之外的位置注册表。例如,如果一个目录的文件夹层次结构是
s3://teambucket/iceberg/namespace1/namespace1a/
,就不能在基本位置s3://teambucket/iceberg/namespace1
创建mytbl3
。例如,可以在基本位置s3://teambucket/iceberg/namespace1/mytbl3
创建它。如果调用
dropTable
API 并通过将purgeRequested
参数设置为true
来请求清除表的数据和元数据,Open Catalog 则会尽最大努力删除以下项:与表相关的所有数据和元数据文件
表的存储目录
不过,其中一些项可能不会删除。如果是这样,请导航到外部云存储,您可自行识别并删除孤立的文件或存储目录。