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