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

ファイルイベントを使用してAuto Loaderに移行する

ディレクトリ リストまたは従来の通知を使用してファイルを検出する既存の Auto Loader ストリームがある場合は、ファイル イベントを使用してそれらを Auto Loader に移行できます。

ディレクトリリストから移行

ディレクトリ リストを使用して Auto Loader ストリームをファイル イベントに移行するには:

  1. ファイル イベントの前提条件が満たされていることを確認します。
  2. ロード パスが外部ロケーションにあり、ファイル イベントが有効になっていること、およびファイル イベントが期待どおりに動作していることを確認します。
  3. ストリーム コードを変更して、 cloudFiles.useManagedFileEvents trueに設定します。同じチェックポイントの場所を引き続き使用します。
  4. ストリーム コードからサポートされていない設定を削除します。
  5. ストリームを再開します。ファイル イベントを有効にして初めて実行すると、Auto Loader はディレクトリ リストを実行して、ファイル イベント キャッシュを最新の状態にします (キャッシュ内の有効な読み取り位置を確保し、それをストリームのチェックポイントに保存します)。後続の実行では、ファイル イベント キャッシュから直接読み取ります。ファイル イベントを含む Auto Loader の概要を参照してください。

Auto Loaderストリームをファイル イベントからディレクトリ リストに移行するには、次の手順を実行します。

  1. ストリーム コードからオプションcloudFiles.useManagedFileEventsを削除します。
  2. ストリームを再開します。

従来のファイル通知からの移行

S3のソースデータ

S3 では、プレフィックスが重複するイベント通知構成は許可されません。ソース データが S3 にある場合は、まず既存のイベント通知設定を解除する必要があります。

ファイルイベントへのレガシーファイル通知(S3)

レガシー ファイル通知を使用して S3 からデータを消費する Auto Loader ストリームをファイル イベントに移行するには:

  1. 外部ロケーションでファイル イベントを有効にする前に、 Auto Loaderストリームを停止し、関連する通知リソースを破棄します。 ファイル通知リソースを手動で構成または管理するで説明されているように、 CloudFilesAWSResourceManagertearDownNotificationResources API を使用できます。
  2. ファイル イベントの前提条件が満たされていることを確認します。
  3. ロード パスが外部ロケーションにあり、ファイル イベントが有効になっていること、およびファイル イベントが期待どおりに動作していることを確認します。
  4. ストリーム コードを変更して、 cloudFiles.useManagedFileEvents trueに設定します。同じチェックポイントの場所を引き続き使用します。
  5. ストリーム コードからサポートされていない設定を削除します。
  6. ストリーム コードからクラウド固有の通知オプション( cloudFiles.queueUrldatabricks.serviceCredentialcloudFiles.awsAccessKeyなど) を削除します。
  7. ストリームを再開します。ファイル イベントを有効にして初めて実行すると、Auto Loader はディレクトリ リストを実行して、ファイル イベント キャッシュを最新の状態にします (キャッシュ内の有効な読み取り位置を確保し、それをストリームのチェックポイントに保存します)。後続の実行では、ファイル イベント キャッシュから直接読み取ります。ファイル イベントを含む Auto Loader の概要を参照してください。

ファイルイベントからレガシーファイル通知(S3)

ファイル イベントを使用して S3 からデータを消費する Auto Loader ストリームを従来のファイル通知に移行するには:

  1. Auto Loaderストリームを停止し、外部ロケーション UI を使用して外部ロケーションのファイル イベントをオフにします。 S3 では、プレフィックスが重複するイベント通知構成は許可されません。ファイル イベントを設定するときにキュー URL を指定した場合、Databricks では、ファイルの欠落を回避するために、以前の設定を破棄し、新しいキュー設定を作成することをお勧めします。
  2. ストリーム コードからオプションcloudFiles.useManagedFileEventsを削除します。
  3. オプションcloudFiles.useNotifications trueに設定します。
  4. Auto Loader がクラウドに対して認証し、通知リソースを設定し、キューから読み取るために必要なクラウド固有の通知オプション( cloudFiles.queueUrldatabricks.serviceCredentialcloudFiles.awsAccessKeyなど) を追加します。
  5. ストリームを開始します。cloudFiles.queueUrlオプション(事前設定されたキューを指定)を指定した場合、Auto Loader はキューを使用してファイルの検出を開始します。また、移行中にファイルが失われていないことを確認するために、ディレクトリの一覧を 1 回だけ作成します。キューを指定し なかっ た場合、Auto Loader は通知に必要なすべてのリソースを作成しようとします。Auto Loaderストリームを再起動したときにエラーが発生した場合、 Databricksファイル イベント用に作成した通知リソースの削除を完了していない可能性があります。 数分後に再試行してください。

Azure Storage または Google Cloud Storage のソースデータ

ファイル イベントへの従来のファイル通知 (Azure、GCP)

従来のファイル通知を使用して Azure または GCP からデータを消費する Auto Loader ストリームをファイル イベントに移行するには、次の手順を実行します。

  1. ファイル イベントの前提条件が満たされていることを確認します。
  2. ロード パスが外部ロケーションにあり、ファイル イベントが有効になっていること、およびファイル イベントが期待どおりに動作していることを確認します。
  3. ストリーム コードを変更して、 cloudFiles.useManagedFileEvents trueに設定します。同じチェックポイントの場所を引き続き使用します。
  4. ストリーム コードからサポートされていない設定を削除します。
  5. ストリーム コードからクラウド固有の通知オプション( cloudFiles.queueNamecloudFiles.subscriptiondatabricks.serviceCredentialcloudFiles.privateKeycloudFiles.clientSecretなど) を削除します。
  6. ストリームを再開します。ファイル イベントを有効にして初めて実行すると、Auto Loader はディレクトリの一覧を実行して、ファイル イベント キャッシュを最新の状態にします (キャッシュ内の有効な読み取り位置を確保し、それをストリームのチェックポイントに保存します)。後続の実行では、ファイル イベント キャッシュから直接読み取ります。ファイル イベントを含む Auto Loader の概要を参照してください。
  7. 従来のファイル通知モードで実行されたときに Auto Loader によって作成された通知リソースを削除します。ファイル通知リソースを手動で構成または管理するで説明されているように、 CloudFilesAWSResourceManagertearDownNotificationResources API を使用できます。

ファイル イベントから従来のファイル通知 (Azure、GCP)

ファイル イベントを使用して Azure または GCP からデータを消費する Auto Loader ストリームを従来のファイル通知に移行するには、次の手順を実行します。

  1. ストリーム コードからオプションcloudFiles.useManagedFileEventsを削除します。
  2. オプションcloudFiles.useNotifications trueに設定します。
  3. Auto Loader がクラウドに対して認証し、通知リソースを設定し、キューから読み取るために必要なクラウド固有の通知オプション( cloudFiles.queueNamecloudFiles.subscriptiondatabricks.serviceCredentialcloudFiles.privateKeycloudFiles.clientSecretなど) を追加します。
  4. ストリームを再開します。cloudFiles.queueNameまたはcloudFiles.subscriptionオプションを指定した場合 (事前構成されたキューを指定した場合)、Auto Loader はキューを使用してファイルの検出を開始します。また、移行中にファイルが失われていないことを確認するために、ディレクトリの一覧を 1 回だけ作成します。キューを指定し なかっ た場合、Auto Loader は通知に必要なすべてのリソースを作成しようとします。Auto Loaderストリームを再起動したときにエラーが発生した場合、 Databricksファイル イベント用に作成した通知リソースの削除を完了していない可能性があります。 数分後に再試行してください。