全部產品
Search
文件中心

DataWorks:離線同步處理記錄分析

更新時間:Jun 19, 2024

本文為您介紹如何查看離線同步任務執行過程中的日誌詳情。

進入日誌詳情頁

您可以在營運中心或DataStudio介面查看任務作業記錄。

模組

描述

營運中心

您可以進入周期執行個體測試執行個體補資料執行個體等頁面,通過篩選條件過濾出需要查詢的執行個體,進入對應執行個體的日誌詳情頁。作業記錄入口詳情請參見查看周期執行個體執行補資料並查看補資料執行個體執行測試並查看測試執行個體

DataStudio介面

您可以在運行歷史頁面查看任務3天內的執行日誌。

查看離線同步處理記錄

下圖為任務的執行過程中的簡單日誌資訊。您也可以單擊圖中地區①或⑤的連結查看各階段執行過程的詳細日誌資訊。日誌

地區

參數

說明

提交執行個體(地區①)

SUBMIT: 同步任務已經從調度系統向Data Integration任務執行資源組提交同步任務的狀態。代表同步任務已經渲染完成。

調度系統會將任務下發至Data Integration資源群組上執行,您可在地區①查看當前任務運行使用的Data Integration資源群組。不同類型資源群組日誌列印不同:

  • 任務運行在預設的資源群組上,日誌中會出現如下資訊。

    running in Pipeline[basecommon_ group_xxxxxxxxx]

  • 任務運行在獨享Data Integration資源上,日誌中會出現如下資訊。

    running in Pipeline[basecommon_S_res_group_xxx]

  • 任務運行在Data Integration自訂資源群組上,日誌中會出現如下資訊。

    running in Pipeline[basecommon_xxxxxxxxx]

說明

您也可以在此地區單擊Detail log url查看各階段執行過程的詳細日誌資訊。

申請資源(地區②)

WAIT:同步任務處於等待Data Integration任務執行資源的狀態。

當任務長時間處於等待Data Integration任務執行資源的狀態時,可能是其他任務運行佔用該資源群組上的資源導致當前任務無資源執行而處於等待狀態,您可以通過以下方案解決此類問題:

  • 待佔用該Data Integration資源群組的任務(即運行在該資源群組上的任務)執行成功,將資源釋放後啟動運行。定位佔用該資源的任務,詳情請參見資料同步慢的情境及解決方案

  • 您也可以找到佔用該資源的工作清單及責任人,與其協調降低任務並發數。

  • 您還可以減少當前同步任務的並發數並重新提交發布任務。

  • 還支援您對任務執行資源組進行擴容。詳情請參見:擴縮容操作

開始同步(地區③)

RUN: 同步任務處於同步中的狀態。

離線同步任務執行過程分為4個階段:

  1. 前置準備

    系統將根據您的配置,將前置SQL下發至資料庫執行,但並非所有任務都存在前置準備。

    • 以MySQL Writer為例,若您的任務配置了PreSQL,即存在執行資料同步任務之前先執行的SQL語句時,該SQL將在此階段下發至資料庫執行。

    • 以MySQL Reader為例,若您的任務配置querySql資料過濾(where),這些SQL將在此階段下發至資料庫執行。

    • 以寫入MaxCompute為例,任務配置了寫入前清空已有資料

    說明

    建議過濾條件使用索引欄位進行過濾,避免SQL在資料庫執行時間過長導致同步整體耗時過長,或在資料庫執行逾時導致同步任務被迫中斷退出。

  2. 切分(拆分)任務

    此階段將源端待同步資料切分為多個task,以便並發、分批進行讀取資料,切分規則如下:

    • 關係型資料庫:按照您在介面配置時指定的切分鍵splitPk,作為切分依據,將待同步資料切分為多個task,通過並發分批讀取切分的task。若未設定切分鍵,將通過單並發同步任務。

    • LogHub/DataHub/Mongodb:按照shard數進行切分,任務並發上限不超過shard數。

    • 半結構化儲存:按照檔案數或檔案資料量進行切分。例如,OSS任務並發上限不超過檔案數。

  3. 同步資料

    此階段將按照切分邏輯將切分出來的task,基於您配置的並發數進行分批同步。關係型資料庫將按照上述切分鍵,切分為多個取數SQL,分別向資料庫請求資料。

    說明
    • 實際執行過程中,您設定的並發數並非為實際執行的並發數。

    • 基於切分鍵切分產生的取數SQL,可能會由於切分鍵設定不合理,導致取數SQL在資料庫執行時間過長導致同步整體耗時過長,或在資料庫執行逾時導致同步任務被迫中斷退出。

    • 如果資料庫當前負載過高,也可能會導致任務執行變慢。

  4. 後置準備

    系統將根據您的配置,將後置SQL下發資料庫執行,但並非所有任務都存在後置準備:

    • 以MySQL Writer為例,若您任務的配置了PostSQL,即配置了資料同步執行後需要執行的SQL語句時,該SQL將在此階段下發至資料庫執行。

    • PostSQL在資料庫的執行時間長度同樣會影響整個同步任務的執行耗時。

執行完成(地區④)

執行完成有兩種狀態:

  • FAIL:同步任務運行失敗。

  • SUCCESS:同步任務執行成功。

  • 任務運行失敗時,將會在日誌列印導致任務運行失敗的關鍵報錯資訊,您可以在地區⑤的連結查看各階段的詳細執行過程。

  • 任務執行成功時,將會在日誌列印同步資料總數、平均同步速度等資訊。

說明
  • 若同步過程產生髒資料,將在日誌出現Dirty data: xxR字樣,髒資料不會寫入目標端。

  • 若同步過程產生大量髒資料,將會影響資料同步的同步速度。若您對同步速度有要求,建議您先處理髒資料問題。髒資料介紹詳情請參見離線同步任務配置相關能力

  • 您可以通過配置髒資料容忍條數控制同步產生的髒資料是否影響任務正常執行。離線同步任務預設允許髒資料,您可在任務配置介面進行修改。嚮導模式配置任務請參見通過嚮導模式配置離線同步任務。指令碼模式配置任務請參見通過指令碼模式配置離線同步任務

詳細日誌連結(地區⑤)

詳細日誌的連結。

您可以單擊詳細日誌連結,查看各階段執行過程的詳細日誌資訊。

附錄:關係型資料庫切分鍵配置

  • 推薦splitPk使用者使用表主鍵,因為表主鍵通常情況下比較均勻,因此切分出來的分區也不容易出現資料熱點。

  • splitPk僅支援切分整型資料,不支援切分字串、浮點和日期等其他類型資料。如果配置splitPk切分不支援的資料類型,則DataWorks會忽略splitPk功能,使用單通道進行資料同步。

  • 如果不填寫splitPk,包括不提供splitPk或者splitPk值為空白,資料同步視作使用單通道同步該表資料 。