新檔案抵達時觸發作業
可以使用[檔案抵達觸發程序],在新檔案抵達外部位置 (如 Amazon S3) Azure 儲存體或 Google 雲端儲存時觸發 Azure Databricks 作業的執行。 當排程作業由於新資料不定期抵達而可能效率低下時,可以使用此功能。
檔案抵達觸發程序會盡最大努力每分鐘檢查新檔案,不過這可能會受到基礎雲端儲存效能的影響。 除了與在儲存位置列出檔案相關的雲端提供者成本外,檔案抵達觸發程序不會產生額外費用。
您可以設定檔案抵達觸發程序來監視 Unity 目錄外部位置或磁碟區的根目錄,或外部位置或磁碟區的子路徑。 例如,針對 Unity 目錄根磁碟區 /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
觸發程式會檢查、subdirA
、 subdirB
subdirC
和 subdirC/subdirD
中的mydirectory
新檔案。
需求
以下是使用檔案抵達觸發程序所需:
- 工作區必須啟用 Unity 目錄。
- 您必須使用儲存位置,也就是 Unity 目錄磁碟區或新增至 Unity 目錄中繼存放區的外部位置。 如需相關資訊,請參閱建立外部位置以將雲端儲存連線到 Azure Databricks。
- 您必須具有
READ
記憶體位置的權限,以及作業的 CAN MANAGE 權限。 如需工作權限的詳細資訊,請參閱工作 ACL。
限制
- 只會執行新的檔案觸發程序。 以相同名稱的檔案覆寫現有的檔案並不會觸發執行。
- 最多可以使用 Azure Databricks 工作區中的檔案抵達觸發程序設定五十個作業。
- 針對檔案抵達觸發程序所設定的儲存位置最多只能包含 10,000 個檔案。 無法監視具有更多檔案的位置是否有新檔案抵達。 如果設定的儲存位置是 Unity 目錄外部位置或磁碟區的子路徑,則 10,000 個檔案限制會套用至子路徑,而不是儲存位置的根目錄。 例如,儲存位置的根目錄在其子目錄中可以包含超過 10,000 個檔案,但已設定的子目錄不能超過 10,000 個檔案限制。
- 用於檔案抵達觸發程序的路徑不得包含任何外部資料表或目錄和結構的受控位置。
- 檔案抵達觸發程式的路徑不能包含通配符,例如
*
或?
。
新增檔案抵達觸發程序
若要將檔案抵達觸發程序加入作業:
- 在側邊欄中,按下 [工作流程]。
- 在 [名稱] 資料行,按下 [工作] Tab。
- 在右側的 [作業詳細資訊] 面板中,按下 [新增觸發程式]。
- 在 [觸發程序類型] 中,選取 [檔案抵達]。
- 在 [儲存位置] 中,輸入根目錄的 URL 或 Unity 目錄外部位置的子路徑,或要監視之 Unity 目錄磁碟區的根或子路徑。
- (選用) 設定進階選項:
- 觸發程序之間的最短時間,以秒為單位:在上一次執行完成之後,等待觸發執行的時間下限。 在此期間抵達的檔案只會在等候時間到期之後觸發執行。 使用此設定來控制執行建立的頻率。
- 在最後一次變更之後的等待,以秒為單位:等待在檔案抵達後觸發執行的時間。 在此期間抵達的另一個檔案會重設計時器。 當檔案以批次抵達時,可以使用此設定,而且所有檔案都到達之後,必須處理整個批次。
- 按一下 [測試連線] 驗證您的組態。
- 按一下 [檔案] 。
接收檔案抵達觸發程序失敗的通知
若要在檔案抵達觸發程序評估失敗時收到通知,請設定作業失敗時的電子郵件或系統目的地通知。 請參閱新增工作事件的電子郵件和系統通知。