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 コマンドを使用して、関連するテーブルプロパティを設定できます。