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

ファイルイベントFAQ

外部ロケーションのファイルイベントに関してよく寄せられる質問の回答をご覧ください。

ファイルイベントとは何ですか?

ファイルイベントにより、Databricks はストレージを繰り返しスキャンする代わりに、クラウド通知を通じて新規または変更済みファイルを検出できます。ファイルイベントは、取り込みの遅延とクラウドストレージのリスト化のコストを削減し、新しい外部ロケーションではデフォルトで有効になっています。

ファイルイベントプロセスを示す図:ファイルソースがファイルを顧客のクラウドストレージに公開し、そのクラウドストレージがイベント購読およびキューに通知を公開します。Unity Catalog は管理ファイルイベントサービスのクラウドアクセスを承認します。サービスは接続を設定し、キューからファイルイベントを取得し、ファイルメタデータをDBに保存し、Auto LoaderおよびTriggersのコンシューマー向けにオブジェクトをリストアップします。

ファイルイベントの動作方法

Automatic モードでファイルイベントを有効にすると、Databricksはお使いのクラウドストレージバケットがファイル変更通知を送信するように構成します。Databricks ファイルイベントサービスは、通知システムからファイルパスのメタデータを読み取り、新規および変更されたファイルを検出します。セーフティネットとして、サービスは、ファイルが欠落していないことを確認するために、定期的に完全なディレクトリリストも実行します。

通知インフラストラクチャはファイルの内容を送信しません。

どの Databricks 機能がファイルイベントを使用しますか?

外部ロケーションでファイルイベントを有効にすると、次の機能でファイルイベントが使用されます:

  • Auto Loader :コストのかかるディレクトリリスト作成を行うことなく、増分取り込みのための新しいファイルを検出します。Databricks Runtime 18.1 以降では、Auto Loader は利用可能な場合にファイルイベントを自動的に利用します(useManagedFileEvents = if_available)。
  • ファイル到着トリガー :新しいファイルが到着すると、ジョブを自動的に開始し、処理する新しいファイルがある場合にのみクラスターが実行されるため、リソースの使用率とコスト効率が向上します。ファイルイベントを有効にすると、ファイル到着トリガーの拡張性が大幅に向上します。新しいファイルの到着時にジョブをトリガーするを参照してください。
  • テーブル更新トリガー :テーブルが更新されると、ジョブを自動的にトリガーします。ファイルイベントを有効にすると、テーブル更新トリガーの拡張性が大幅に向上します。ソース テーブルが更新されたときにジョブをトリガーするを参照してください。

パイプラインとジョブでファイルイベントを有効にするにはどうすればよいですか?

まず、外部ロケーションのファイル イベントを有効にします。「外部ロケーションのファイル イベントのセットアップ」を参照してください。

ファイル到着トリガーまたはテーブル更新トリガーとファイルイベントを併用する場合、追加の操作は必要ありません。ジョブはファイルイベントを自動的に活用します。

また、Auto LoaderをDatabricks Runtime 18.1以降で使用する場合、追加のアクションを実行する必要はありません。パイプラインは自動的にファイルイベントの恩恵を受けます。以前のランタイムバージョンをお使いの場合は、パイプラインでファイルイベントを有効にしてください:

Python
spark.readStream.option("cloudFiles.useManagedFileEvents", "true")...

現在、Auto Loaderまたはトリガーを使用していない場合はどうなりますか?

いつでもファイルイベントをオフにでき、Databricksが通知リソースをクリーンアップいたします。Databricks では、ファイルイベントを有効にしておくことを推奨しています。

ファイルイベントをオプトアウトできますか?

Databricks は、取り込みワークロードのコストを削減し、パフォーマンスを向上させるため、新しい外部ロケーションではファイルイベントをデフォルトで有効にします。

ファイルイベントなしで外部ロケーションを作成するには:

  1. カタログ エクスプローラーで、新しい外部ロケーションの作成を開始します。
  2. ストレージ認証情報にファイルイベント権限がない場合、検証警告が表示されます。**強制作成**をクリックします。
  3. 作成後、ロケーションを選択し、ファイルイベント設定のチェックを外して、ファイルイベントが無効になっていることを確認します。

既存の外部ロケーションでファイル イベントを無効にするには、「外部ロケーションのファイル イベントのセットアップ」を参照してください。

次のステップ