HeadlinesBriefing favicon HeadlinesBriefing.com

Icebergコンパクション:1000から6、影響

Towards Data Science •
×

Apache Iceberg などのテーブル形式で保存された大規模な分析データセットを扱う場合、小さなファイル問題と呼ばれる既知の問題があります。これは、データが適切なサイズの少数のファイルではなく、多数の小さなファイルに書き込まれるときに発生します。これによりメタデータのオーバーヘッドが増加し、クエリの計画と実行が遅くなる可能性があります。これに対処するために、コンパクションと呼ばれるプロセスが使用され、すべての小さなファイルを少数の大きなファイルに結合します。

私は Apache Iceberg に焦点を当てています。これは大規模な分析データのための主要なオープンテーブル形式の1つとして急速に成長しているためです。重要なのは、Iceberg はコンパクションをサポートしていますが、自動的には実行しないことです。Iceberg は rewrite_data_files プロシージャを提供しますが、システム管理者である私たちはそのプロシージャを実行する必要があります。

5000万 行が 1000 の小さなファイルに分散された Iceberg テーブルを作成します。これらのファイルは、コンパクションコマンドを発行するまで変更されません。書き換えの前後に3つのSQLワークロードを測定します。すべてローカルで実行されます。クラウドアカウント、Docker、Hadoopクラスター、有料サービスは必要ありません。