予測 I/O とは

予測 I/O は、データ操作のパフォーマンスを向上させる Databricks 最適化のコレクションです。 予測 I/O 機能は、次のカテゴリに分類されます。

  • 高速読み取りにより、データのスキャンと読み取りにかかる時間が短縮されます。

  • 更新の高速化により、更新、削除、およびマージ中に書き換える必要があるデータの量が削減されます。

予測I/Oは、 DatabricksのPhotonエンジン専用です。

予測 I/O を使用して読み取り を高速化する

予測 I/O は、サポートされているコンピュートの種類に対するすべての操作について、データのスキャンとフィルタリングのパフォーマンスを高速化するために使用されます。

重要

予測 I/O 読み取りは、SQLウェアハウスのサーバレスおよび pro タイプ、および Databricks Runtime 11.2 以降を実行する Photon アクセラレーションクラスターでサポートされています。

予測 I/O は、ディープラーニング技術を適用して次のことを行うことで、スキャンのパフォーマンスを向上させます。

  • データを読み取るための最も効率的なアクセスパターンを決定し、実際に必要なデータのみをスキャンします。

  • クエリー結果の生成に必要のない列と行のデコードを排除します。

  • 行に一致する選択クエリーの検索条件の確率を計算します。 クエリーを実行すると、これらの確率を使用して、次に一致する行が発生する場所を予測し、クラウドストレージからそのデータのみを読み取ります。

予測 I/O を使用して更新 を高速化する

更新の予測I/Oは、以下のPhoton対応コンピュートタイプを使用して、削除ベクトルが有効になっているすべてのテーブルに対して自動的に使用されます。

  • サーバレス SQLウェアハウス.

  • Pro SQL ウェアハウス.

  • Databricks Runtime 14.0 以降を実行しているクラスター。

注:

更新プログラムの予測 I/O のサポートは Databricks Runtime 12.1 以降にありますが、Databricks では最適なパフォーマンスを得るために 14.0 以降を使用することをお勧めします。

削除ベクトルとはを参照してください

重要

ワークスペース管理者設定は、新しい Delta テーブルに対して削除ベクトルを自動的に有効にするかどうかを制御します。 「削除ベクトルの自動有効化」を参照してください。

Delta Lakeテーブルで削除ベクトルのサポートを有効にするには、Delta Lake テーブルプロパティを設定します。次の例のように、テーブルの作成時に削除ベクトルを有効にするか、既存のテーブルを変更します。

CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);

ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);

警告

削除ベクトルを有効にすると、テーブルプロトコルのバージョンがアップグレードされます。 アップグレード後、削除ベクトルをサポートしていない Delta Lake クライアントではテーブルを読み取ることができなくなります。 「Databricks が Delta Lake 機能の互換性を管理する方法」を参照してください。

削除ベクトルをサポートするクライアントの一覧については、「Delta クライアントとの互換性」を参照してください。

Databricks Runtime 14.1 以降では、削除ベクトル テーブル機能を削除して、他の Delta クライアントとの互換性を有効にすることができます。「ドロップ Delta テーブル フィーチャ」をご参照ください。

予測 I/O は、削除ベクトルを利用して、Delta テーブルでのデータ変更中にファイル全体の書き換えの頻度を減らすことで、更新を高速化します。 予測 I/O は、 DELETEMERGE、および UPDATE 操作を最適化します。

予測 I/O では、レコードが更新または削除されたときにデータ ファイル内のすべてのレコードを書き換えるのではなく、削除ベクトルを使用して、ターゲット データ ファイルからレコードが削除されたことを示します。 補足データ ファイルは、更新を示すために使用されます。

テーブルに対する後続の読み取りでは、メモされた変更を最新のテーブルバージョンに適用することで、現在のテーブルの状態を解決します。

重要

予測 I/O 更新では、すべての制限が削除ベクトルと共有されます。 Databricks Runtime 12.1 以降では、次の制限があります。

  • Delta Sharing は、削除ベクタが有効になっているテーブルではサポートされていません。

  • 削除が存在するテーブルのマニフェスト ファイルを生成することはできません。 REORG TABLE ... APPLY (PURGE)を実行し、マニフェストを生成するための書き込み操作が実行されていないことを確認します。

  • 削除が有効になっているテーブルのマニフェスト ファイルを増分生成することはできません。