受管理表的存储优化 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

受管理表的存储优化

默认情况下,在启用所有存储优化功能的情况下创建受控表。其中包括数据压缩和垃圾收集。

数据压缩

受管理表的一个重要用例是用于流式传输数据或其他应用程序,其中小块数据持续到达 Amazon S3 数据湖。单个表可以增加到数千个 Amazon S3 对象。每个受管理的表都维护表现标识表中包含的所有 Amazon S3 对象。此清单的版本化和原子更新,以确保您始终看到表格的一致视图。

注意

数据压缩优化器会持续监控表分区,并在超过文件数和文件大小阈值时启动。Lake Formation 在不干扰并发查询的情况下执行压缩。目前,仅对 Parquet 格式的分区表支持压缩。

垃圾回收

受管理表的另一个存储优化功能通过删除不再属于受管理表的 Amazon S3 对象来帮助降低存储成本。如果在将对象添加到受管理表的清单中时取消事务,则不会自动清理这些对象。这是为了允许在不需要重新生成数据的情况下重试事务。在某些情况下,最好从已取消的事务中删除对象。

要使用此功能,您必须先致电。DeleteObjectsOnCancel在调用 S3 之前PutObject. 这告诉 Lake Formation 异步删除这些文件以帮助节省成本。调用DeleteObjectsOnCancel提供在交易中止的情况下从 Amazon S3 中删除对象的授权。无法手动禁用此功能。有关中止的事务和移除不需要的对象的更多信息,请参阅。回滚 Amazon S3 写入.

注意

数据压缩仅适用于 Place 分区表。

使用存储优化的先决条件

必须先完成中所述的设置说明,然后才能使用数据压缩。准备对受管理的表使用自动数据压缩.

禁用和重新启用受控表的数据压缩

为了通过 ETL 任务和分析服务获得更好的性能,Lake Formation 自动将受管表的小 Amazon S3 对象压缩为更大的对象。默认情况下,对受管理的表启用数据压缩。您可以对单个受管理的表禁用压缩,然后再重新启用压缩。

可以使用 Lake Formation 控制台或者启用和禁用数据压缩Amazon CLI.

Console

禁用或重新启用受管理表的数据压缩

  1. 通过 https://console.aws.amazon.com/lakeformation/ 中打开 Lake Formation 控制台。

    以数据湖管理员、表创建者或已获得glue:UpdateTable许可和 Lake FormationALTER在桌子上的许可。

  2. 在导航窗格中,选择

  3. 选择表名旁边的选项按钮,然后在操作菜单中,选择编辑.

    注意

    确保您选择了受管理的表。受监管的表有Enabled (已启用)中的监管column.

  4. 在存储库的编辑表页面上,执行以下操作之一:

    • UNDER数据管理和安全,选择或清除自动压实选项。

    • UNDER表属性,设置lakeformation.aso.statustrue启用压实功能,或者false以禁用压缩。

  5. 选择 Save(保存)。

Amazon CLI

例如,要禁用压缩,您可以使用以下命令:Amazon CLI命令。

aws update-table-storage-optimizer --database-name database-name --table-name table-name --storage-optimizer-config '{"compaction" :{"is_enabled": "false"}}')

要重新启用表的数据压缩,请使用类似的代码,但将值设置为is_enabledtrue.

检查受管理的表压缩状态

对于受管理的表,您可以通过在控制台中查看表或运行Amazon CLI命令。

Console

检查受管理表的压缩状态

  1. 通过 https://console.aws.amazon.com/lakeformation/ 中打开 Lake Formation 控制台。

    以数据湖管理员、表创建者或已获得glue:GetTable许可和桌子上的任何 Lake Formation 许可。

  2. 在导航窗格中,选择

  3. 在存储库的页面上,选择表名称。

  4. UNDER表详细信息,向下滚动到治理和加速详细信息部分。

    
                    治理和加速详细信息部分有两栏。左侧列包含以下信息:压实,(状态)成功,(灰色)显示警告消息和结果 “状态 = 已完成,运行时间 =1005715,开始时间 =2021-09-22T 18:12:47 .740Z,压缩文件 =3982,紧凑文件 =1119504421。右侧列包含以下信息:垃圾回收,(状态)成功,(灰色)显示警告消息和结果 “状态 = 已完成,运行时间 =20258,Starttime =2021-09-21T 00:03:13 .246Z,收到的文件 =100,文件删除 =100,文件无法 Remove=0。
Amazon CLI

使用类似于以下内容的命令查看与特定表关联的所有加速度的配置和上次运行状态。

aws list-table-storage-optimizers --database-name database-name --table-name table-name

以下是针对此命令的响应示例。

[ { StorageOptimizerType: "compaction", config: { "state": "enabled" }, errorMessage: "", lastRunDetails: "lastRunTime: December 14, 2021. Compacted 1000 objects" }, { StorageOptimizerType: "garbage_collection", config: { "state": "disabled" }, errorMessage: "IAM role is missing DeleteObject permissions", lastRunDetails: "lastRunTime: December 14, 2021. Collected 1000 objects" } ]