优化 Iceberg 表 - Amazon Glue
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 作业的读取性能,Amazon Glue Data Catalog 为数据目录中的 Iceberg 表提供了托管式压缩功能(一种将小 Amazon S3 对象压缩成较大对象的进程)。您可以使用 Lake Formation 控制台、Amazon Glue 控制台、Amazon CLI 或 Amazon API 为数据目录中的单个 Iceberg 表启用或禁用压缩。

表优化器会持续监控表分区,并在超过文件数量和文件大小阈值时启动压缩进程。如果 write.target-file-size-bytes 属性中指定的文件大小在 128 MB 到 512 MB 的范围内,则 Iceberg 表符合压缩条件。在 Data Catalog 中,如果表中有超过五个文件,每个文件都小于 write.target-file-size-bytes 属性的 75%,则会开始压缩过程。

例如,在 write.target-file-size-bytes 属性中,表的文件大小阈值设置为 512 MB(在 128 MB 到 512 MB 的规定范围内),该表包含 10 个文件。如果这 10 个文件中有 6 个文件,每个文件均小于 384 MB(0.75*512),则 Data Catalog 会触发压缩。

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

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