ADF 第四篇:管道的執行和觸發器

悅光陰發表於2020-12-12

Azure Data Factory 系列部落格:

 

管道在Azure Data Factory中的執行(命名為Pipeline run)定義為管道執行的一個例項(instance of pipeline execution ),每一次管道執行(pipeline run)都有一個唯一的GUID來標識。使用者可以定義一個觸發器,比如,制定定時計劃,觸發器在特定的時間點被激發,自動執行管道。當然,也可以手動執行管道,本文重點關注觸發器執行。

在管道執行時,可以把argument傳遞給管道中定義的parameters,這樣管道就可以根據parameters的值動態調整Activity的執行路徑。

一,觸發器執行的型別

觸發器代表一個處理單元,以確定合適開始執行管道,資料工廠支援三種型別的觸發器:

  • 計劃觸發器(Schedule trigger):按照計劃來執行管道
  • 翻滾視窗觸發器(Tumbling window trigger):在固定間隔下操作管道
  • 基於事件的觸發器(Event-based trigger):響應事件的觸發器

管道和觸發器具有多對多的關係,多個觸發器可以觸發一個管道,一個觸發器可以觸發多個管道,因此,觸發器可以在多個管道中共享,當修改觸發器時,所有引用該觸發器的Pipeline都會同步修改。

二,計劃觸發器

計劃觸發器(Schedule trigger)按照時間計劃來執行管道,本文重點關注計劃觸發器,這可以實現在特定的時間點,按照特定的頻率和特定的時間間隔來執行管道,實現資料工廠的自動化執行。

在建立計劃觸發器時,需要設定計劃觸發器的屬性:

  • startTime和endTime:計劃觸發器的開始時間和結束時間,通常只制定schedule的startTime,而不設定EndTime,這樣計劃觸發器就永遠有效。
  • timeZone:時區,計劃觸發器計時的時區
  • recurrence:重複
  • frequency:頻率
  • interval:間隔

Step1:新建觸發器

在管道中,點選Trigger,選擇“New/Edit”

Step2:設定觸發器的屬性

開啟“New trigger”介面,從Type列表中選擇Schedule,建立Schedule Trigger,Start date預設值是當前的時間,表示trigger從當前時間開始有效;如果設定“Specify an End Date”,那麼在End date之後,計劃觸發器不會再次激發Pipilne的執行。在 Activated 屬性中選擇“Yes”,表示計劃觸發器從建立開始是活躍的。

Step3:釋出到資料工廠

把Trigger建立完成之後,之後把Pipeline的更新發布到資料工廠,觸發器才會按照計劃來執行管道。

點選“Publish all”按鈕,把Pipeline的修改釋出到資料工廠,在把更新發布到資料工廠之前,觸發器不會啟動觸發器,那麼管道中的Activity也不會按照計劃來執行。

三,監控管道和觸發

資料工廠會記錄Pipeline的每一個次執行的資料,在資料工廠的UI介面中,開啟“Monitor”選項卡,開啟的介面如下圖所示,點選“Pipeline runs”,可以檢視管道的執行記錄;點選“Trigger runs”,可以檢視觸發器執行的記錄,

 

 

參考文件:

Pipeline execution and triggers in Azure Data Factory

相關文章