ブルームフィルタインデックス(非推奨)
重要
ブルームフィルタのインデックスは使用しないでください。Databricks ではこの機能が非推奨になりました。Databricks では、既存のブルームフィルタのインデックスをテーブルから削除することを推奨しています。
Bloomフィルターインデックスは、Delta Lakeテーブルのレガシーデータスキッピングメカニズムです。これらは書き込みオーバーヘッドを追加し、調整が難しく、より効果的な代替手段に置き換えられています。Bloomフィルターインデックスは、Apache Parquetファイル形式で定義されているBloomフィルターとは異なり、この廃止はParquet Bloomフィルターには適用されません。Parquet Bloomフィルターを参照してください。
テーブルにブルームフィルタのインデックスがある場合は、推奨される代替インデックスのいずれかに置き換えてから、インデックスを削除してください。
推奨される代替案
代わりに次の機能を使用してください。
- 予測I/O : Databricks Runtime 12.2以降を搭載したPhoton対応のコンピュートでは、予測I/Oによりすべての列でファイルスキップが自動的に実行されます。 これは、Photonが有効になっている場合にのみ書き込みオーバーヘッドを追加するブルームフィルタインデックスを完全に置き換えるものです。
- 液体クラスタリング : Databricks Runtime 13.3 以降では、液体クラスタリングは、頻繁にフィルター処理される列に基づいてデータを整理することで、データのスキップを改善します。
既存のブルームフィルタインデックスを削除します
テーブルに既存のブルームフィルタインデックスがある場合は、不要な書き込みオーバーヘッドを排除するためにそれらを削除してください。
SQL
DROP BLOOMFILTER INDEX ON TABLE table_name
構文の詳細については、 DROP BLOOM FILTER INDEX を参照してください。
ブルームフィルタインデックスをすべて削除した後、 vacuumを実行して、 _delta_indexディレクトリ内の基となるインデックスファイルをクリーンアップします。