偵錯資料處理站管線

已完成

客戶在資料整合方面的需求和期望不斷改變。 因此,使用者越來越迫切需要反覆開發及偵錯「擷取轉換/載入」(ETL) 和「擷取載入/轉換」(ELT) 工作流程。

當您開發資料整合解決方案時,Azure Data Factory 可協助您建立和開發反覆式偵錯 Data Factory 管線。 如果在管線畫布上製作管線,您可以使用「偵錯」功能來測試活動和管線。

在 Azure Data Factory 中,偵錯之前不需要在管線或活動中發佈變更。 在實際儲存和發佈變更之前,如果想測試變更是否如預期般生效,這就很有用。

有時,您不想偵錯整個管線,只想測試管線的一部分。 「偵錯」回合正好派上用場。 測試管線時可以一路到底,也可以設定中斷點。 如果在偵錯模式下這麼做,您可以一邊建立和偵錯管線,一邊查看每個步驟的結果。

偵錯和發佈管線

當您建立或修改執行中的管線時,您可以在管線畫布的 [輸出] 索引標籤中查看每個活動的結果。

在測試回合成功且您對結果感到滿意之後,您可以將更多活動新增至管線,反覆地繼續偵錯。 當您不滿意或想停止偵錯管線時,可以取消進行中的測試回合。 請注意,選取偵錯滑桿,就會實際執行管線。 因此,例如,如果管線包含複製活動,則測試回合會將資料從來源複製至目的地。

最佳做法是在偵錯時,在複製活動和其他活動中使用測試資料夾,如此一來,當您對結果感到滿意且已偵錯管線時,就可以切換到實際資料夾來執行一般作業。

若要偵錯管線,請選取工具列上的 [偵錯]。 您會在視窗底部的 [輸出] 索引標籤中看到管線執行狀態。

Debug slider Azure Data Factory

Output tab Azure Data Factory Debug

管線成功執行之後,在頂端工具列中選取 [全部發行]。 此動作會將您建立的實體 (資料集和管線) 發佈至 Data Factory。

Publish all changes and entities in Azure Data Factory

請等到顯示已成功發佈訊息。 若要查看通知訊息,請選取入口網站右上方 (鈴鐺按鈕) 的 [顯示通知] (鈴鐺圖示)。

Bell button for notifications in Azure Data Factory

對應資料流程偵錯

在建立對應資料流的過程中,您可以互動地監看資料圖形和轉換的執行情形,以便偵錯。 若要使用此功能,必須先啟用「資料流程偵錯」功能。

在資料流程設計工作階段和管線偵錯執行資料流程期間,都可以使用偵錯工作階段。 開啟偵錯模式之後,您將以使用中 Spark 叢集來實際建置資料流程。 一旦關閉偵錯,Spark 叢集也就關閉。 您可以選擇要使用的計算。 使用現有的偵錯叢集可以縮短啟動時間。 不過,對於複雜或平行的工作負載,您可能想啟動自己的 Just-In-Time 叢集。

偵錯資料流程的最佳做法是保持開啟偵錯模式,以及檢查並驗證資料流程包含的商務邏輯。 從視覺上檢視資料轉換和圖形有助於看出變更。

如果您想要在所建立的管線中測試資料流程,則最好使用管線面板上的 [偵錯] 按鈕。 雖然資料預覽不會寫入資料,但資料流程內的偵錯回合會將資料寫入接收器目的地,就像偵錯管線一樣。

偵錯設定

如前所述,從 Azure Data Factory 使用者介面啟動的每個偵錯工作階段,都視為自有 Spark 叢集的新工作階段。 若要監視工作階段,您可以使用偵錯工作階段的監視檢視來管理每個已設定 Data Factory 的偵錯工作階段。

若要了解 Spark 叢集是否可開始偵錯,您可以檢查設計介面頂端的叢集狀態指示。 如果是綠色,則已準備就緒。 當您進入偵錯模式時,如果叢集未執行,則大約要等待 5-7 分鐘,因為叢集需要啟動。

最佳做法是在完成偵錯之後,就關閉偵錯模式,以讓 Spark 叢集終止。

正在偵錯時,您可以選取 [偵錯設定] 來編輯資料流程中資料的預覽。 例如,變更資料預覽可能是資料列限制,或者,假如您使用來源轉換,則也可能是檔案來源。 當您選取暫存連結服務時,您可以使用 Azure Synapse Analytics 作為來源。

如果資料流程或其任何參考資料集有參數,則您可以選取 [參數] 索引標籤,以指定偵錯期間要使用的值。在偵錯期間,不需要接收器,資料流程中會忽略接收器。 如果想要測試已轉換的資料並寫入接收器,則您可以從管線執行資料流程,然後從管線使用偵錯執行。

如前所述,在 Azure Data Factory 中,可以直到特定點或活動才進行偵錯。 若要這樣做,您可以在活動上使用中斷點,表示直到那裡才進行測試,然後選取 [偵錯]。 [偵錯直到] 選項會在元素的右上角顯示為空心的紅色圓圈。 在您選取 [偵錯直到] 選項之後,該選項會變更為實心的紅色圓圈,以指出中斷點已啟用。 然後,Azure Data Factory 會確保管線中直到該中斷點活動,測試才會執行。 只想測試管線中的一部分活動時,此功能十分有用。

在大部分的情況下,Azure Data Factory 中的偵錯功能就已足夠。 不過,有時必須在複製的沙箱環境中測試管線中的變更。 如果您有參數化 ETL 管線,而想測試管線在觸發檔案抵達時及在輪轉時間範圍內分別有什麼行為,則這是這麼做的一種使用案例。 在此情況下,複製沙箱環境可能更恰當。

好消息是 Azure Data Factory 大多只依執行次數收費,第二個 Data Factory 不必再另外付費。

監視偵錯執行

若要監視偵錯回合,您可以檢查 [輸出] 索引標籤,但因為不會顯示歷程,所以只能看到瀏覽工作階段中最近執行的回合。 如果您想要檢視偵錯回合歷程記錄,或查看所有使用中偵錯回合,則可以移至 [監視] 索引標籤。

您需要記住一件事,就是 Azure Data Factory 服務只會保留偵錯回合歷程記錄 15 天。 至於監視資料流程偵錯工作階段,您也將會移至 [監視] 索引標籤。

Monitoring debug run Azure Data Factory