DataWorks支援通過嚮導模式或指令碼模式配置離線同步任務,您可以將分庫分表資料同步至目標單表。本文以同步MySQL分庫分表資料為例進行說明。
前提條件
已準備好要同步的多個資料來源,詳情請參見支援的資料來源與讀寫外掛程式。
背景資訊
分庫分表要求表結構一致,因此,配置同步任務時,欄位對應將按照第一張表結構進行展示。
支援MySQL(支援嚮導模式)、PolarDB(支援嚮導模式)、AnalyticDB(支援嚮導模式)、SQLServer、Oracle、PostgreSQL等類型的資料來源,配置分庫分表同步任務。
操作步驟
配置分庫分表同步任務。
嚮導模式配置分庫分表:在資料來源地區單擊+編輯資料來源,添加對應的資料來源。完整的任務配置步驟請參見通過嚮導模式配置離線同步任務。
說明僅MySQL、PolarDB、AnalyticDB支援通過嚮導模式添加分庫分表,其他資料庫請切換至指令碼模式配置分庫分表同步。
指令碼模式配置分庫分表:指令碼樣本如下,完整的任務配置步驟請參見通過指令碼模式配置離線同步任務。
重要實際運行時,請刪除下述代碼中的注釋。
{ "type":"job", "version":"2.0", "steps":[ { "stepType":"mysql", "parameter":{ "envType":0, "column":[ "id", "name" ], "socketTimeout":3600000, "tableComment":"", "connection":[ //根據分庫數配置connection { "datasource":"datasourceName1", //分庫分表的資料來源1 "table":[ //分庫分表的Table列表1 "tb1" ] }, { "datasource":"datasourceName2", //分庫分表的資料來源2 "table":[ //分庫分表的Table列表2 "tb2", "tb3" ] } ], "useSpecialSecret":true,//各個資料來源使用各自的密碼 "where":"", "splitPk":"id", "encoding":"UTF-8" }, "name":"Reader", "category":"reader" }, { "stepType":"odps", "parameter":{ "partition":"pt=${bizdate}", "truncate":true, "datasource":"odpsname", "envType":0, "isSupportThreeModel":false, "column":[ "id", "name" ], "emptyAsNull":false, "tableComment":"", "table":"t1", "consistencyCommit":false }, "name":"Writer", "category":"writer" } ], "setting":{ "executeMode":null, "errorLimit":{ "record":"" }, "speed":{ "concurrent":2, "throttle":false } }, "order":{ "hops":[ { "from":"Reader", "to":"Writer" } ] } }