OPTIMIZE - Amazon Athena

OPTIMIZE

根据数据文件的大小和相关删除文件的数量,将数据文件重写为更优化的布局,从而优化 Apache Iceberg 表中的行。

注意

OPTIMIZE 是事务性的,仅支持用于 Apache Iceberg 表。

语法

以下语法摘要显示了如何优化 Iceberg 表的数据布局。

OPTIMIZE [db_name.]table_name REWRITE DATA USING BIN_PACK [WHERE predicate]
注意

WHERE 子句谓词中只允许使用分区列。指定非分区列将导致查询失败。

压缩操作按重写过程中扫描的数据量收费。REWRITE DATA 操作使用谓词选择包含匹配行的文件。如果文件中的任何行与谓词匹配,则会选择该文件进行优化。因此,要控制受压缩操作影响的文件数量,可以指定 WHERE 子句。

配置压缩属性

要控制要选择以进行压缩的文件的大小以及压缩后生成的文件大小,可以使用表属性参数。您可以使用 ALTER TABLE SET TBLPROPERTIES 命令配置相关的表属性

其他资源

优化 Iceberg 表