新しいファイルが到着したときにジョブをトリガーする
Databricksファイル到着トリガーを AmazonS3使用すると、 、Azure storage、 などの 外部ロケーション に新しいファイルが到着したときに、 ジョブの実行をトリガーできます。Google Cloud Storage新しいデータが不規則なスケジュールで到着するため、スケジュールされたジョブが非効率になる可能性がある場合に、この機能を使用できます。
ファイル到着トリガーは、1 分ごとに新しいファイルをチェックするよう最善を尽くしますが、これは基盤となるクラウド ストレージのパフォーマンスによって影響を受ける可能性があります。 ファイル到着トリガーでは、ストレージの場所にファイルをリストすることに関連するクラウド プロバイダーのコスト以外の追加コストは発生しません。
ファイル到着トリガーは、 Unity Catalogの外部ロケーションまたはボリュームのルート、または外部ロケーションまたはボリュームのサブパスを監視するように構成できます。 たとえば、Unity Catalog ルート ボリューム/Volumes/mycatalog/myschema/myvolume/
の場合、ファイル到着トリガーの有効なパスは次のとおりです。
/Volumes/mycatalog/myschema/myvolume/
/Volumes/mycatalog/myschema/myvolume/mydirectory/
要件
ファイル到着トリガーを使用するには、次のものが必要です。
ワークスペースで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ボリュームのルートまたはサブパスを入力します。
(オプション)詳細オプションを設定します。
トリガー間の最小時間 (秒単位) : 前の実行が完了した後、実行をトリガーするまで待機する最小時間。 この期間に到着したファイルは、待機時間が経過した後にのみ実行をトリガーします。 この設定を使用して、実行の作成頻度を制御します。
最後の変更後の待機時間 (秒) : ファイルの到着後に実行をトリガーするまでの待機時間。 この期間内に別のファイルが到着すると、タイマーがリセットされます。 この設定は、ファイルがバッチで到着し、すべてのファイルが到着した後にバッチ全体を処理する必要がある場合に使用できます。
構成を検証するには、[ 接続のテスト] をクリックします。
[保存]をクリックします。
失敗したファイル到着トリガーの通知を受信する
ファイル到着トリガーの評価が失敗した場合に通知を受け取るには、ジョブ失敗時の電子メールまたはシステム宛先通知を構成します。 「ジョブ イベントの電子メールとシステム通知の追加」を参照してください。