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

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

优化 Iceberg 表

使用 Apache Iceberg 等开放表格式的 Amazon S3 数据湖会将数据存储为 Amazon S3 对象。如果数据湖表中包含成千上万个小 Amazon S3 对象,则会增加 Iceberg 表的元数据开销并影响读取性能。为了提高 Amazon 分析服务(例如 Amazon Athena 和 Amazon EMR)和 Amazon Glue ETL 任务的读取性能,为数据目录中的 Iceberg 表 Amazon Glue Data Catalog 提供了托管压缩(一种将小 Amazon S3 对象压缩成较大对象的过程)。您可以使用 Lake Formation Amazon Glue 控制台 Amazon CLI、控制台或 Amazon API 为数据目录中的单个 Iceberg 表启用或禁用压缩。

表优化器会持续监视表分区,并在超过文件数量和文件大小的阈值时启动压缩过程。如果写入时指定了文件大小,则 Iceberg 表有资格进行压缩。 target-file-size-bytes 属性在 128MB 到 512MB 的范围内。在数据目录中,如果表中有五个以上的文件,每个文件都小于写入量的 75%,则压缩过程就会开始。 target-file-size-bytes 财产。

例如,您有一张在写入时将文件大小阈值设置为 512MB 的表。 target-file-size-bytes 属性(在 128MB 到 512MB 的规定范围内),该表包含 10 个文件。如果 10 个文件中有 6 个文件各小于 384MB (.75*512),则数据目录会触发压缩。

数据目录会在不干扰并发查询的情况下执行压缩。数据目录仅支持对 Parquet 格式的表进行数据压缩。

有关支持的数据类型、压缩格式和限制,请参阅托管式数据压缩的支持的格式和限制