全部產品
Search
文件中心

DataWorks:離線同步節點

更新時間:Jun 21, 2025

DataWorks的離線同步節點提供讀取(Reader)和寫入(Writer)外掛程式,簡化了從來源資料庫到目標資料庫的資料移轉過程。您可以在可視化介面配置資料來源與目標源,結合DataWorks的調度能力,實現全量或增量資料同步。本文將以MaxCompute作為來源資料庫,Hologres作為目標資料庫,為您介紹如何使用離線同步節點完成資料同步。

前提條件

  • (可選,RAM帳號需要)進行任務開發的RAM帳號已被添加至對應工作空間中,並具有開發空間管理員(許可權較大,謹慎添加)角色許可權,新增成員的操作詳情請參見為工作空間增加空間成員

    說明

    如果您使用的是主帳號,則可忽略該添加操作。

  • 已在DataWorks配置MaxCompute資料來源、Hologres資料來源並通過連通性測試,詳情請參見建立並管理資料來源

    說明

    離線同步節點支援多種資料來源,詳情請參見支援的資料來源列表

使用限制

DataWorks的離線同步暫不支援跨時區同步資料。如果資料同步任務中的資料來源與使用的DataWorks資源群組不在同一個時區,則會導致同步的資料有誤。

1. 建立離線同步節點

已建立離線同步節點,詳情請參見建立周期任務

2. 配置網路與資源

在離線同步節點編輯頁面,依次完成資料來源類型、來源資料來源名稱、資源群組配置、資料去向類型、去向資料來源名稱的資訊配置,並保證資料來源:可連通

3. 配置同步任務

在配置離線任務嚮導頁面,您可根據以下不同方式來配置離線同步任務。

通常推薦使用直觀簡便的嚮導模式進行配置。如果資料來源不支援通過嚮導模式來配置任務,您可以選擇使用頁面上方的指令碼模式手動編輯和配置離線同步任務。

重要

如果將嚮導模式切換為指令碼模式,將無法重新切換迴向導模式,只能重新建立離線同步節點。

嚮導模式

資料來源與去向配置

配置資料來源與去向對話方塊中,您可以根據實際需求設定以下參數:

參數

資料來源

資料去向

Tunnel資源群組

通常是系統提供的一個預設資源群組公用傳輸資源,您也可以單擊新購買來擷取並使用更多資源。

schema/Schema

預設default

您可選擇已建立的schema資訊。

預設public

您可選擇已建立的Schema資訊。

您所建立的資料來源表。

您所建立的資料去向表。

過濾方式

存在兩種過濾方式:

  • 分區過濾是通過指定資料存放區的特定分區來篩選資料,通常用於資料開發中按時間或其他維度劃分的資料。

  • 資料過濾是根據具體的條件(如SQL查詢中的WHERE子句)來篩選出合格資料記錄。

分區過濾

過濾方式為分區過濾時,您可通過指定資料存放區的特定分區來篩選資料。

資料過濾

過濾方式為資料過濾時,您可在此處配置where條件對資料進行過濾處理。

分區資訊

過濾方式為分區過濾時,您可以配置相應的參數。系統會自動掃描並顯示您建立的源表中的分區資訊。如果需要設定多個分區過濾條件,您可以在分區資訊配置中添加分區,並為每個分區配置具體的過濾條件。

重要

調試運行時,需在調試配置中指定變數值。實際運行時,系統將動態替換成真實值。

如果去向表為分區表時,系統會自動掃描出分區資訊,您可在此設定分區資料寫入條件。

如果去向表不是分區表,則預設情況下無分區資訊。

分區不存在時

過濾方式為分區過濾時,您可以配置相應的參數。當所在分區不存在時,您可設定任務執行出錯或者忽略不存在分區,任務正常執行

寫入衝突策略

寫入衝突策略分為三種:

  • 更新(Replace):目標表中存在與來源資料相同的主鍵或唯一鍵記錄,則替換這些記錄;如果不存在,則插入新的記錄。

  • 忽略(Ignore):如果目標表中存在與來源資料相同的主鍵或唯一鍵記錄,則忽略這些來源資料,不進行任何操作。

  • 更新(Update):目標表中存在與來源資料相同的主鍵或唯一鍵記錄,則更新這些記錄;

同步前是否要清空Hologres表

您可根據業務需求選擇清空目標表不清空目標表

最大串連數

JDBC使用的最大串連數。

  • 最大串連數僅在寫入模式為SQL(INSERT INTO)時生效。

  • 在開啟任務時請確保Hologres執行個體有充足的空閑串連。

    說明

    一個任務最多使用9個串連。

配置欄位對應

您可以在欄位對應編輯頁面單擊增加一行來添加新的映射關係。同時,您也可以在連接線位置對現有的映射關係進行刪除修改

配置通道控制

您可根據業務實際情況,在通道控制對話方塊設定通道的控制參數。

說明

任務期望最大並發數大於等於8個才能開啟分散式處理能力。

指令碼模式

您可參見以下樣本指令碼資訊,配置離線同步節點任務。

說明

資料來源列表的指令碼模式詳細說明,請參見資料來源列表

{
    "transform": false,
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "odps",//來來源資料類型
            "parameter": {
                "schema": "default",
                "partition": [
                    "year=${bizdate},month="
                ],
                "datasource": "來來源資料源",
                "envType": 1,
                "successOnNoPartition": false,
                "tunnelQuota": "default",
                "isSupportThreeModel": true,
                "column": [
                    "欄位1",
                    "欄位2",
                    "欄位3",
                    "欄位4",
                    "欄位..."
                ],
                "tableComment": "",
                "enableWhere": false,
                "table": "來源表"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "holo",//去向資料類型
            "parameter": {
                "selectedDatabase": "public",
                "maxConnectionCount": 9,
                "partition": "order_month=${bizdate}",
                "truncate": "false",
                "datasource": "去向資料來源",
                "conflictMode": "ignore",
                "envType": 1,
                "column": [
                    "欄位1",
                    "欄位2",
                    "欄位3",
                    "欄位4",
                    "欄位..."
                ],
                "tableComment": "",
                "table": "目標表"
            },
            "name": "Writer",
            "category": "writer"
        },
        {
            "name": "Processor",
            "stepType": null,
            "category": "processor",
            "copies": 1,
            "parameter": {
                "nodes": [],
                "edges": [],
                "groups": [],
                "version": "2.0"
            }
        }
    ],
    "setting": {
        "executeMode": null,
        "failoverEnable": null,
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "concurrent": 2,
            "throttle": false
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

4. 配置調試參數

在離線同步任務配置頁面右側單擊調試配置,配置以下參數,在調試運行中使用調試配置的相關參數測試回合。

配置項

配置說明

資源群組

選擇配置網路與資源時的Serverless資源群組。

指令碼參數

如果您的離線同步任務中配置了參數,則需在調試配置中為參數手動賦值,確保在整合任務在調試運行時順利拿到參數。

說明

當您同步分區表並預設選中分區過濾時,並設定了分區參數為${bizdate},調試運行需配置bizdate為源表中存在的分區。

後續操作

  1. 如需定期執行離線同步任務,請根據業務需求配置調度資訊,詳情請參見節點調度

  2. 離線同步任務配置完成後,需對離線同步任務進行發布,詳情請參見節點/工作流程發布

  3. 離線同步任務發布後,您可以在營運中心查看周期任務的運行情況。詳情請參見營運中心入門