配置同步任務是將數據源的數據同步到目標表的過程。本文為您介紹如何配置同步任務。
配置流程說明
同步任務的配置流程如下圖。
來源表和目標表均支持多種數據源。
數據庫類型 | 數據源 |
關系型數據庫 | MySQL、Oracle、Microsoft SQL Server、PostgreSQL、AnalyticDB for PostgreSQL |
NoSQL數據存儲 | MongoDB、ElasticSearch |
配置同步任務
在Dataphin首頁,單擊頂部菜單欄的研發。默認進入數據開發頁面。
按照下圖操作指引,進入同步任務頁面。
在同步任務頁面,單擊已創建的同步任務,配置參數。
配置同步來源區域的參數,根據數據源類型不同,配置的參數也不同。
當數據同步來源端為MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL、MongoDB、Microsoft SQL Server時,配置參數如下。
參數
描述
數據源
支持根據數據類型篩選數據源。Dataphin支持的同步來源數據源類型包括MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL、MongoDB、Microsoft SQL Server。
模式
當數據源類型為MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL時,支持設置。
支持選擇同步數據源的模式,包括單表或多表。
單表:適用于將一個表的業務數據同步至一個目標表的場景。
多表:適用于將多個表的業務數據同步至同一個目標表的場景。多個表的數據寫入同一個數據表時,使用union算法。
更多union說明,請參見交集(INTERSECT)、并集(UNION)和補集(EXCEPT)。
表
選擇來源數據表。
如果模式選擇了單表,則單擊圖標,選擇需要同步的數據表。
如果模式選擇了多表,則執行以下操作添加數據表:
在輸入框中,輸入表的表達式,篩選具有相同結構的表。
系統支持枚舉形式、類正則形式及兩者混合形式,例如:
table_[001-100];table_102
。單擊圖標。
在確認匹配詳情對話框中,選擇匹配的表。
單擊確認。
切分鍵
當數據源類型為MySQL、Oracle時,支持設置。
您可以將源數據表中某一列作為切分鍵,建議使用主鍵或有索引的列作為切分鍵。
編碼方式
當數據源類型為Oracle時,支持設置。
選擇讀取數據的編碼方式。Dataphin支持選擇的編碼方式包括UTF-8、GBK、ISO-8859-1和系統默認。
篩選條件
填寫輸入字段的過濾信息,例如
ds=${bizdate}
。輸入過濾適用于以下兩種場景:固定的某一部分數據。
參數過濾。
配置同步目標區域的參數,根據數據源類型不同,配置的參數也不同。
當數據同步目標端為MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL、Microsoft SQL Server時,配置參數如下。
參數
描述
數據源
支持根據數據類型篩選數據源。Dataphin支持的同步來源數據源類型包括MySQL、Oracle、PostgreSQL、AnalyticDB for PostgreSQL、Microsoft SQL Server。
表
選擇數據同步的源表。
加載策略
選擇數據寫入目標表的策略。
MySQL加載策略支持覆蓋數據、追加數據。
Oracle、PostgreSQL、Microsoft SQL Server加載策略支持追加數據。
AnalyticDB for PostgreSQL加載策略支持Copy模式、追加數據。
覆蓋數據即以當前來源表為準,覆蓋目標表中的歷史數據。
追加數據即在目標表的已有的數據基礎上追加數據,且不修改歷史數據。
Copy模式:AnalyticDB for PostgreSQL提供copy命令,用于表與文件(標準輸出,標準輸入)之間的相互復制。數據同步支持使用
copy from
將數據加載到表中,并且在遇到沖突時會使用新數據覆蓋舊數據,建議您在遇到性能問題時再嘗試使用該策略。
沖突策略
當AnalyticDB for PostgreSQL數據源的加載策略選擇Copy模式時,需要配置沖突解決策略,包括沖突時報錯和沖突時覆蓋。
重要沖突解決策略僅在AnalyticDB for PostgreSQL內核版本高于4.3時的Copy模式下有效,內核低于4.3或不明版本時請謹慎選擇,避免造成任務失敗。
解析方案
非必填項。數據輸出前和輸出完成的特殊處理方式,比如為了滿足服務的持續可用性,當前步驟寫數據執行前先創建目標表Target_A,執行寫入到目標表Target_A,當前步驟寫數據執行完成后,對數據庫中持續提供服務的表Service_B重命名成Temp_C,然后將表Target_A重命名為Service_B,最后刪除Temp_C。
填寫準備語句:導入前執行的 SQL 腳本。
填寫完成語句:導入后執行的 SQL 腳本。
當數據同步目標端為MongoDB時,配置參數如下。
參數
描述
數據源
支持根據數據類型篩選數據源。Dataphin支持的同步來源數據源類型包括MongoDB。
表
選擇數據同步的源表。
字段分隔符
當字段類型為數組時,需要填寫字段分隔符。
更新信息
填寫更新信息。例如
{"isUpsert":"true","upsertkey"""unique_id"}
。配置來源字段區域的參數。選擇來源表后,來源表的字段會展示在來源字段區域內。您可以單擊字段所在行操作列下的圖標,刪除來源字段。
如果需要再次添加已刪除的字段,則單擊新建字段,根據彈框提示,填寫字段及描述、選擇數據類型,單擊新增,完成已刪除字段的添加。
配置目標字段區域的參數。選擇目標表后,目標表的字段會展示在目標字段區域內。您可以單擊字段所在行操作列下的圖標,刪除目標字段。
如果需要再次添加已刪除的字段,則執行單擊新建字段,根據彈框提示,填寫字段及描述、選擇數據類型,單擊新增,完成已刪除字段的添加。
調整字段:
如果來源字段和目標字段的字段名一一對應,則系統默認匹配。
如果來源字段和目標字段的字段名沒有對應起來,則需手動調整。您可以刪除不匹配的字段后,將鼠標懸停在字段列表的空白處,選擇對應字段即可。
配置參數控制。配置參數控制是為了調整同步任務的并發數和容錯率等。通常情況下,您不需要配置,保持默認值即可。
參數控制
描述
速度上限
數據同步的傳輸速率,默認為1MB/s。系統數據同步的傳輸速率會盡可能地達到速度上限,但是不會超過速度上限。速度上限會影響整個調度的資源情況,速度上限設置的越高,運行任務的調度資源量會越大。
并發數
啟動并發抽取數據的任務的并發數。
出錯限制
指數據同步過程中,出錯的記錄數超過多少條則任務中止。默認為0條,即不允許出錯。
配置同步任務的調度參數,詳情請參見調度配置。
保存、提交和發布同步任務:
單擊頁面上方的圖標,保存代碼任務。
單擊頁面上方的圖標,提交代碼任務。
管理同步任務
您可以對已提交狀態的同步任務,執行如下操作。
操作 | 描述 |
編輯 | 編輯同步任務:
說明 保存完成修改的已提交狀態的同步任務后,系統自動將同步任務的狀態調整為開發中。 |
重命名 | 重命名同步任務:
|
移動 | 移動同步任務:
|
下線 | 下線同步任務:
|
下線并刪除 | 下線并刪除同步任務:
|
后續步驟
如果您的開發模式是Dev-Prod模式,則需要發布同步任務,詳情請參見管理發布任務。
如果您的開發模式是Basic模式,則不需要發布同步任務。