交易元数据操作 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

交易元数据操作

受管表的元数据包括以下内容:

  • 表架构

  • Amazon S3 表对象清单

  • 版本历史记录

  • 权限

在更改受管表的清单时,应用程序还可以以事务方式更改数据目录中的架构。通过提供元数据交易,您可以对数据进行时空旅行查询,也可以查询以前存在的数据。

例如,Amazon Glue表 API 操作采用可选事务 ID,以允许应用程序创建、更新或删除受管表的元数据。这是由返回的交易 IDStartTransactionAPI。

当交易提交时,快照由表元数据创建并与事务 ID 相关联。API 操作可以通过传递事务 ID 来引用特定的快照。例如,您对UpdateTable使用事务 IDabc然后是另一个更新xyz更改架构。然后你可以打电话GetTable使用事务 IDabc,它接收的架构与事务 ID 时相同abc已提交。

交易元数据的另一个用例是执行时空旅行查询,以读取截至指定时间的表的元数据GetTable要么GetTablesoperation.

支持事务元数据操作的 API 操作

以下Amazon GlueAPI 操作支持事务元数据操作。对于每种描述,都假设交易 ID(返回者为StartTransaction要么start_transaction) 被传递给 API 调用,并且在某个时候会有提交。

API 操作 描述
CreateTable

当您提交事务创建数据目录中创建表(当您调用CommitTransaction带有交易 ID 的 API)。

UpdateTable 更新表的元数据。提交事务后,创建表元数据的新快照。快照按事务 ID 编制索引。
DeleteTable, BatchDeleteTable 提交事务时删除表。所有快照都被删除。
GetTable

(可选)采用TransactionId或者一个QueryAsOfTime参数。

如果你通过了TransactionId,该操作将检索匹配的快照并返回截至该事务提交时的表元数据。

如果你通过了QueryAsOfTime参数,返回截至指定时间的表元数据。

GetTables

(可选)采用TransactionId或者一个QueryAsOfTime参数。

如果两个参数均未传递,则该操作将返回受管表和未受管控表。如果你通过了TransactionId或者一个QueryAsOfTime参数,仅返回受管控的表。

如果你通过了TransactionId,返回截至交易提交时的表元数据。

如果你通过了QueryAsOfTime参数,该操作返回截至指定时间的表的元数据。

交易元数据操作的限制

以下是事务元数据操作的当前限制:

  • 例如,在数据目录中添加或修改数据库时,Lake Formation 不支持事务操作,CreateDatabaseUpdateDatabaseGetDatabase、等

  • Lake Formation 不支持在数据目录中修改数据库时进行时空旅行读取。

  • 例如,在添加或修改表分区时,Lake Formation 不支持事务操作CreatePartitionBatchUpdatePartition、等 分区键可以通过查看表对象来识别。