本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
事务性元数据操作
受管理表的元数据包括以下内容:
-
表架构
-
Amazon S3 表对象清单
-
版本历史记录
-
权限
在更改受管理表的清单时,应用程序还可以以事务方式更改 Data Catalog 中的架构。由于提供了元数据交易,您可以对数据执行时间旅行查询,也可以像以前一样查询数据。
例如,Amazon Glue表 API 操作使用可选的事务 ID 来允许应用程序创建、更新或删除受管理表的元数据。这是由StartTransaction
API。
提交交易时,快照是由表元数据创建的,并与交易 ID 关联。API 操作可以通过传入事务 ID 来引用特定快照。例如,你打电话给UpdateTable
使用事务 IDabc
然后是另一次更新xyz
来更改模式。然后你可以打电话给GetTable
使用事务 IDabc
,它像交易 ID 时一样接收模式abc
已承诺。
事务性元数据的另一个用例是执行时间旅行查询,以便在指定时间内使用GetTable
要么GetTables
操作。
支持事务元数据操作的 API 操作
以下Amazon GlueAPI 操作支持事务性元数据操作。对于每个描述,假设交易 ID(返回StartTransaction
要么start_transaction
) 被传递给 API 调用,而且在某个时候,有一个提交。
API 操作 | 描述 |
---|---|
CreateTable |
当您提交事务时(当您调用 |
UpdateTable |
更新表的元数据。提交事务后,创建表元数据的新快照。快照按交易 ID 编制索引。 |
DeleteTable, BatchDeleteTable |
提交事务时删除表。所有快照都将被删除。 |
GetTable |
或者需要一个 如果你通过 如果你通过 |
GetTables |
或者需要一个 如果两个参数都不传递,则操作将同时返回受管理表和未受管理的表。如果你通过了 如果你通过 如果你通过 |
事务性元数据操作的限制
以下是事务元数据操作的当前限制:
-
例如,在数据目录中添加或修改数据库时,Lake Formation 不支持事务操作,
CreateDatabase
、UpdateDatabase
、GetDatabase
、等 -
Lake Formation 不支持用于修改数据目录中数据库的时间旅行读取。
-
例如,在添加或修改表分区时,Lake Formation 不支持事务操作
CreatePartition
、BatchUpdatePartition
、等 可以通过查看表格对象来识别分区键。