監視資料流

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

在您完成建置和偵錯資料流程之後,您想要將資料流程排定為在管線內容中依照排程執行。 您可以使用觸發程序來排程管線。 若要對管線中的資料流程進行測試和偵錯,您可以使用工具列功能區上的 [偵錯] 按鈕,或 Pipeline Builder 中的 [立即觸發] 選項,執行單次執行,以測試管線內容中的資料流程。

當您執行您的管線時,您可以監視管線和管線內含的所有活動,包括「資料流程」活動。 選取左側 UI 面板中的監視器圖示。 您可以看到類似以下的畫面。 醒目提示的圖示可讓您向下鑽研到管線中的活動,包括「資料流程」活動。

Screenshot shows icons to select for pipelines for more information.

您也會看到此層級的統計資料,包括執行時間和狀態。 活動層級的執行識別碼與管線層級的執行識別碼不同。 前一層級的執行識別碼適用於管線。 選取眼鏡可讓您深入了解資料流程執行的詳細資料。

Screenshot shows the eyeglasses icon to see details of data flow execution.

當您在圖形化節點監視檢視時,您可以看到經過簡化的僅供檢視資料流程圖版本。 若要在詳細資料檢視中查看包含轉換階段標籤的較大圖形節點,請使用畫布右側的縮放滑桿。 您也可以使用右側的搜尋按鈕,在圖形中尋找資料流程邏輯的一部分。

Screenshot shows the view-only version of the graph.

檢視資料流程執行計劃

在 Spark 中執行資料流程時,服務會根據資料流程的整體性來決定最佳的程式碼路徑。 此外,執行路徑可能會發生在不同的相應放大節點和資料分割區上。 因此,監視圖表示您的流程設計,並將轉換的執行路徑納入考量。 當您選取個別節點時,您可以看到「階段」,其代表在叢集上一起執行的程式碼。 您看見的時間和計數代表這些群組或階段,而不是您設計中的個別步驟。

Screenshot shows the page for a data flow.

  • 當您選取監視視窗中的空白處時,底端窗格中的統計資料會顯示每個接收的時間和資料列計數,以及導向轉換歷程接收資料的轉換。

  • 當您選取個別的轉換時,您會在右側面板上收到額外的意見反應,其中顯示分割區統計資料、資料行計數、偏態 (資料平均分佈於分割區的程度) 和峰態 (資料的上升程度)。

  • 處理時間排序,可協助您識別資料流程中的哪些階段花費最多時間。

  • 若要找出每個階段內花費最多時間的轉換,請按最長的處理時間排序。

  • 已寫入的資料列也可以排序,據以識別資料流程內的哪些資料流寫入最多資料。

  • 當您選取節點檢視中的 [接收] 時,您可以看到資料行歷程。 有三種不同方法可讓資料行累積於資料流程以置入接收中。 畫面如下:

    • 計算:您使用資料行進行條件式處理,或使用於資料流程中的運算式內,但請勿將其置入接收中
    • 衍生:資料行是您在流程中產生的新資料行,也就是不存在於來源
    • 對應:資料行源自來源,而您會將其對應至接收欄位
    • 資料流程狀態:執行的目前狀態
    • 叢集啟動時間:為您的資料流程執行取得 JIT Spark 計算環境的時間量
    • 轉換數目:在您的流程中執行多少個轉換步驟

Screenshot shows the Refresh option.

總接收處理時間與轉換處理時間

每個轉換階段都包含完成該階段的時間總計,以及每個分割區的執行時間總計。 當您選取 [接收] 時,會看到 [接收處理時間]。 這個時間包括轉換時間總計加上將資料寫入至目的地存放區所花費的 I/O 時間。 接收處理時間與轉換總計之間的差異,是寫入資料的 I/O 時間。

如果您在管線監視檢視中開啟資料流程活動的 JSON 輸出,您也可以查看每個分割區轉換步驟的詳細時間。 JSON 包含每個分割區的毫秒計時,而 UX 監視檢視則彙總了分割區加在一起的時間:

 {
     "stage": 4,
     "partitionTimes": [
          14353,
          14914,
          14246,
          14912,
          ...
         ]
}

接收處理時間

當您在對應中選取接收轉換圖示時,右側的滑動面板將會在底部顯示名為「後處理時間」的額外資料點。 這是載入、轉換和寫入資料之後,在 Spark 叢集上執行作業所花費的時間量。 這次可以包括關閉連線集區、驅動程式關機、刪除檔案、聯合檔案等。當您在流程中執行動作時,例如「移動檔案」和「輸出至單一檔案」,可能會看到後置處理時間值增加。

  • 寫入階段的持續時間:將資料寫入至 Synapse SQL 暫存位置的時間
  • 資料表作業 SQL 持續時間:將資料從暫存資料表移至目標資料表所花費的時間
  • 前置 SQL 持續時間與後置 SQL 持續時間:執行前置/後置 SQL 命令所花費的時間
  • 前置命令持續時間與後置命令持續時間:為檔案型來源/接收執行任何前置/後置作業所花費的時間。 例如,在處理後移動或刪除檔案。
  • 合併持續時間:合併檔案所花費的時間,合併檔案可在寫入至單一檔案或使用「檔案名稱作為資料行資料」時用於檔案型接收。 如果在此計量中花費了大量時間,則應避免使用這些選項。
  • 階段時間:在 Spark 內完成作業以作為暫存所花費的時間總計。
  • 臨時暫存資料表:資料流程中用來在資料庫中暫存資料的暫存資料表名稱。

錯誤資料列

在資料流程接收中啟用錯誤資料列處理,將會反映在監視輸出中。 當您將接收設定為 [發生錯誤時回報成功] 時,監視輸出會在您按一下接收監視節點時顯示成功和失敗的資料列數目。

Screenshot shows error rows.

當您選取 [發生錯誤時回報失敗] 時,相同的輸出只會顯示在活動監視輸出文字中。 這是因為資料流程活動會傳回執行失敗,而詳細的監視檢視將無法使用。

Screenshot shows error rows in activity.

監視器圖示

此圖示表示已在叢集上快取轉換資料,所以時間和執行路徑已將該點納入考量:

Screenshot shows the disk icon.

您也會在轉換中看到綠色圓圈圖示。 這些圖示代表資料流入的接收數目。