新しいファイルが到着したときにジョブをトリガーする
Databricksファイル到着トリガー を使用すると、新しいファイルが AmazonS3、 ストレージ、 などの 外部ロケーション に到着したときに、 ジョブの実行をトリガーできます。AzureGoogle Cloud Storageこの機能は、新しいデータが不規則なスケジュールで到着するため、スケジュールされたジョブが非効率的である可能性がある場合に使用できます。
ファイル到着トリガーは、1 分ごとに新しいファイルをチェックするよう最善を尽くしますが、これは基盤となるクラウド ストレージのパフォーマンスによって影響を受ける可能性があります。 ファイル到着トリガーでは、ストレージの場所にファイルをリストすることに関連するクラウド プロバイダーのコスト以外の追加コストは発生しません。
ファイル到着トリガーは、 Unity Catalogの外部ロケーションまたはボリュームのルート、または外部ロケーションまたはボリュームのサブパスを監視するように構成できます。 たとえば、Unity Catalog ルート ボリューム/Volumes/mycatalog/myschema/myvolume/
の場合、ファイル到着トリガーの有効なパスは次のとおりです。
/Volumes/mycatalog/myschema/myvolume/
/Volumes/mycatalog/myschema/myvolume/mydirectory/
ファイル到着トリガーは、構成された場所のすべてのサブディレクトリで新しいファイルを再帰的にチェックします。 たとえば、ロケーション /Volumes/mycatalog/myschema/myvolume/mydirectory/
のファイル到着トリガーを作成し、このロケーションに次のサブディレクトリがあるとします。
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirA
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirB
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirC/subdirD
トリガーは、 mydirectory
、 subdirA
、 subdirB
、 subdirC
、 subdirC/subdirD
の新しいファイルをチェックします。
要件
ファイル到着トリガーを使用するには、次のものが必要です。
ワークスペースでUnity Catalog が有効になっている必要があります。
ストレージの場所は、 Unity Catalog ボリュームまたは Unity Catalog メタストアに追加された外部ロケーションのいずれかを使用する必要があります。 「クラウドストレージをDatabricksに接続するための外部ロケーションの作成」を参照してください。
保存場所に対する
READ
権限と、ジョブに対する CAN MANAGE 権限が必要です。 ジョブ権限の詳細については、 「ジョブ ACL」を参照してください。
制限事項
新しいファイルのみが実行をトリガーします。 既存のファイルを同じ名前のファイルで上書きしても、実行はトリガーされません。
Databricks ワークスペースでは、ファイル到着トリガーを使用して最大 50 個のジョブを構成できます。
ファイル到着トリガー用に構成された保存場所には、最大 10,000 個のファイルのみを含めることができます。 より多くのファイルがある場所では、新しいファイルの到着を監視することはできません。 構成されたストレージの場所が Unity Catalogの外部ロケーションまたはボリュームのサブパスである場合、10,000 ファイル制限はストレージ場所のルートではなくサブパスに適用されます。 たとえば、保存場所のルートには、そのサブディレクトリ全体で 10,000 を超えるファイルを含めることができますが、構成されたサブディレクトリは 10,000 ファイルの制限を超えてはなりません。
ファイル到着トリガーに使用されるパスには、外部テーブルやカタログおよびスキーマの管理された場所を含めることはできません。
ファイル到着トリガーに使用されるパスには、
*
や?
などのワイルドカードを含めることはできません。
ファイル到着トリガーを追加する
ジョブにファイル到着トリガーを追加するには:
サイドバーで、 「ワークフロー」をクリックします。
[ジョブ]タブの[名前]列で、ジョブ名をクリックします。
右側のジョブ詳細パネルで、トリガーの追加をクリックします。
[トリガーの種類] で、 [ファイル到着] を選択します。
[ストレージの場所に、監視するUnity Catalog外部場所のルートまたはサブパスの URL、あるいはUnity Catalogボリュームのルートまたはサブパスを入力します。
(オプション)詳細オプションを設定します。
トリガー間の最小時間 (秒単位) : 前の実行が完了した後、実行をトリガーするまで待機する最小時間。 この期間に到着したファイルは、待機時間が経過した後にのみ実行をトリガーします。 この設定を使用して、実行の作成頻度を制御します。
最後の変更後の待機時間 (秒) : ファイルの到着後に実行をトリガーするまでの待機時間。 この期間内に別のファイルが到着すると、タイマーがリセットされます。 この設定は、ファイルがバッチで到着し、すべてのファイルが到着した後にバッチ全体を処理する必要がある場合に使用できます。
構成を検証するには、[ 接続のテスト] をクリックします。
[保存]をクリックします。
失敗したファイル到着トリガーの通知を受信する
ファイル到着トリガーの評価に失敗した場合に通知を受け取るには、ジョブ失敗時の Eメール 通知またはシステム宛先通知を設定します。 「ジョブに通知を追加する」を参照してください。