本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Lake Formation 中的受管桌子
中的元数据表Amazon Glue Data Catalog存储有关数据源和目标的信息,包括架构信息、分区信息、数据位置等。
数据目录支持两种类型的元数据表:受管的表和不受管控的表。受管控的表格是独一无二的Amazon Lake Formation. 创建表时,您可以指定表是否受管表。
受管控的表格提供以下高级功能:
- ACID 事务
-
ACID(原子、一致、隔离和持久)事务保护创建或更新表等数据目录操作的完整性。它们还允许多个用户同时可靠地在 Amazon S3 数据湖中添加和删除对象,同时允许其他用户在相同的数据集上同时运行分析查询和机器学习 (ML) 模型,这些数据集返回一致的和 up-to-date 结果。当受管控表参与对 Amazon S3 上数据湖的读取或写入时,这些操作发生在事务中。
事务保护受管理的表元数据的完整性,包括表现— 用于在表的基础数据中定义 Amazon S3 对象的元数据。集成Amazon服务,例如Amazon Athena支持受管控的表以在查询中提供一致的读取。要在您的账户中使用交易Amazon GlueETL 任务,在对数据湖执行任何读取或写入操作之前先开始事务,并在事务完成后提交事务。
有关事务的更多信息,请参阅 在事务中读取和写入数据湖。
- 自动数据压缩
-
为了提高所管表中的小型 Amazon S3 对象的性能,Lake Formation 自动将受管表中的小型 Amazon S3 对象压缩为更大的对象。
默认情况下,对受管辖的表启用压缩。您可以对单个受管控的表禁用压缩。有关更多信息,请参阅 受管控表的存储优化。
- 时间旅行查询
-
如前所述,每个受管表都维护所包含 Amazon S3 对象的版本控制清单。清单的早期版本可用于时间旅行查询。您对 Athena 和 Athena 中受管控表的查询Amazon GlueETL 任务可以包含时间戳,表示您要发现数据在特定日期和时间的状态。
要在 Athena 中提交时空旅行查询,请使用语法
FOR SYSTEM_TIME AS OF
要么timestamp
FOR SYSTEM_VERSION AS OF
.version
SELECT * FROM cloudtraildb.cloudtraildata FOR SYSTEM_TIME AS OF TIMESTAMP '2021-09-30 10:00:00'
有关 Athena 对受管表进行时空旅行查询的更多示例,请参阅查询受管表中的Amazon Athena 用户指南.
在 ETL 作业脚本中,要使用时空旅行将数据读入动态框架,请包含与以下内容类似的代码。
注意 Lake Formation 权限不受版本控制。时空旅行查询始终遵守当前权限。例如,如果时间 T1 的权限限制了对表列的访问权限,而当前权限(时间 T2)授予了对所有列的访问权限,则针对时间 T1 的数据进行的时间旅行查询将返回所有列。