メインコンテンツまでスキップ

ブルームフィルタインデックス(非推奨)

重要

ブルームフィルタのインデックスは使用しないでください。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ディレクトリ内の基となるインデックスファイルをクリーンアップします。