OPTIMIZE
根据数据文件的大小和相关删除文件的数量,将数据文件重写为更优化的布局,从而优化 Apache Iceberg 表中的行。
注意
OPTIMIZE
是事务性的,仅支持用于 Apache Iceberg 表。
语法
以下语法摘要显示了如何优化 Iceberg 表的数据布局。
OPTIMIZE [
db_name
.]table_name
REWRITE DATA USING BIN_PACK [WHEREpredicate
]
注意
WHERE
子句谓词
中只允许使用分区列。指定非分区列将导致查询失败。
压缩操作按重写过程中扫描的数据量收费。REWRITE DATA
操作使用谓词选择包含匹配行的文件。如果文件中的任何行与谓词匹配,则会选择该文件进行优化。因此,要控制受压缩操作影响的文件数量,可以指定 WHERE
子句。
配置压缩属性
要控制要选择以进行压缩的文件的大小以及压缩后生成的文件大小,可以使用表属性参数。您可以使用 ALTER TABLE SET TBLPROPERTIES 命令配置相关的表属性。