MySQL輸出組件用於向MySQL資料來源寫入資料。同步其他資料來源的資料至MySQL資料來源的情境中,完成來源資料源的資訊配置後,需要配置MySQL輸出組件的目標資料來源。本文為您介紹如何配置MySQL輸出組件。
前提條件
已建立MySQL資料來源。更多資訊,請參見建立MySQL資料來源。
進行MySQL輸出組件屬性配置的帳號,需具備該資料來源的同步寫入權限。如果沒有許可權,則需要申請資料來源許可權。更多資訊,請參見申請、續期和交還資料來源許可權。
操作步驟
在Dataphin首頁頂部功能表列,選擇研發 > Data Integration。
在整合頁面頂部功能表列選擇專案(Dev-Prod模式需要選擇環境)。
在左側導覽列中單擊離線整合,在離線整合列表中單擊需要開發的離線管道,開啟該離線管道的配置頁面。
單擊頁面右上方的組件庫,開啟組件庫面板。
在組件庫面板左側導覽列中需選擇輸出,在右側的輸出組件列表中找到MySQL組件,並拖動該組件至畫布。
單擊並拖動目標輸入、轉換或流程組件的
表徵圖,將其串連至當前MySQL輸出組件上。單擊MySQL輸出組件卡片中的
表徵圖,開啟MySQL輸出配置對話方塊。
在MySQL輸出配置對話方塊,配置參數。
參數
描述
基本設定
步驟名稱
即MySQL輸出組件的名稱。Dataphin自動產生步驟名稱,您也可以根據業務情境修改。命名規則如下:
只能包含中文、字母、底線(_)、數字。
不能超過64個字元。
資料來源
在資料來源下拉式清單中,展示所有MySQL類型的資料來源,包括您已擁有同步寫入權限的資料來源和沒有同步寫入權限的資料來源。單擊
表徵圖,可複製當前資料來源名稱。對於沒有同步寫入權限的資料來源,您可以單擊資料來源後的申請,申請資料來源的同步寫入權限。具體操作,請參見申請、續期和交還資料來源許可權。
如果您還沒有MySQL類型的資料來源,單擊建立資料來源,建立資料來源。具體操作,請參見建立MySQL資料來源。
時區
將根據當前時區對時間格式資料進行處理,預設為所選資料來源中配置的時區,不支援修改。
說明對於V5.1.2版本之前建立的任務,可選擇資料來源預設配置或通道配置時區,預設選擇為通道配置時區。
資料來源預設配置:所選資料來源預設的時區。
通道配置時區:當前整合任務在屬性 > 通道配置中配置的時區。
庫(非必選)
選擇表所在的庫,若不填寫則使用資料來源註冊時填寫的庫。
表
選擇輸出資料的目標表。 可輸入表名關鍵字進行搜尋,或輸入準確表名後單擊精準尋找。選擇表後,系統將自動進行表狀態檢測。單擊
表徵圖,可複製當前所選表的表名稱。如果MySQL資料來源中沒有資料同步的目標表,則您可以通過一鍵建表的功能,簡單快速的產生目標表。詳細操作步驟如下:
單擊一鍵建表。Dataphin會自動為您匹配建立目標表的代碼,包括目標表名稱(預設為來源表名)、欄位類型(基於Dataphin欄位做了初步的轉換)等資訊。
您可以根據業務情況修改建立目標表的SQL指令碼後,單擊建立。
目標表建立成功後,Dataphin自動將建立的目標表作為輸出資料的目標表。一鍵產生目標表用於為開發環境、生產環境建立資料同步的目標表。Dataphin預設為您選中生產環境建表,如果生產環境已經有同名且結構相同的資料表,則您無需勾選生產環境建表。
說明如果開發環境或生產環境存在同名的表,單擊建立後,Dataphin會報已存在該表的錯誤。
沒有匹配項時,也支援根據手動輸入的表名進行整合。
載入策略
選擇資料寫入目標表的策略。載入策略包括:
追加資料(insert into):即在目標表的已有的資料基礎上追加資料,且不修改歷史資料;當主鍵/約束衝突時,會提示髒資料錯誤。
主鍵衝突時覆蓋(replace into):即在主鍵/約束衝突時,會先刪除整行主鍵重複的舊資料,再插入新資料。
主鍵衝突時更新(on duplicate key update):即在主鍵/約束衝突時,會在已存在的記錄上更新映射欄位的資料。
批量寫入資料量(非必填)
一次性寫入的資料量大小,可同時設定批量寫入條數,寫入時系統將按兩個配置中先達到上限的量進行寫入,預設32M。
批量寫入條數(非必填)
預設2048條。資料同步寫入時,採用攢批寫入策略,其中設定的參數包括批量寫入條數和批量寫入資料量。
當讀取到的資料量累積至設定的任一上限(即達到批量寫入的資料量或條數限制)時,系統將認為已攢滿一批資料,並立即將這批資料一次性寫入目標端。
建議設定批量寫入的資料量為32MB,對於批量插入的條數上限,可以根據單條記錄的實際大小靈活調整,通常設定為一個較大值以充分利用批次寫入的優勢。例如,若單條記錄大小約為1KB,可將批量插入位元組大小設為16MB,同時考慮到這一條件,將批量插入條數設定為大於16MB除以單條記錄大小1KB的結果(即大於16384條),這裡假設設定為20000條。如此配置後,系統將會依據批量插入的位元組大小來觸發批次寫入操作,每當累積的資料量達到16MB時,就會執行一次寫入動作。
準備語句(非必填)
資料匯入前對資料庫執行的SQL指令碼。
比如為了滿足服務的持續可用性,當前步驟寫資料執行前先建立目標表Target_A,執行寫入到目標表Target_A,當前步驟寫資料執行完成後,對資料庫中持續提供服務的表Service_B重新命名成Temp_C,然後將表Target_A重新命名為Service_B,最後刪除Temp_C。
結束語句(非必填)
資料匯入後對資料庫執行的SQL指令碼。
欄位對應
輸入欄位
根據上遊組件的輸出,為您展示輸入欄位。
輸出欄位
為您展示輸出欄位。支援進行以下操作:
欄位管理:單擊欄位管理選擇輸出欄位。

單擊
表徵圖,將已選的輸入欄位移入未選的輸入欄位。單擊
表徵圖,將未選的輸入欄位移入已選的輸入欄位。
大量新增:單擊大量新增,支援JSON、TEXT格式、DDL格式大量設定。
以JSON格式大量設定,例如:
// 樣本: [{ "name": "user_id", "type": "String" }, { "name": "user_name", "type": "String" }]說明name表示引入的欄位名稱,type表示引入後的欄位類型。例如,
"name":"user_id","type":"String"表示把欄位名為user_id的欄位引入,設定欄位類型為String。以TEXT格式大量設定,例如:
// 樣本: user_id,String user_name,String行分隔字元用於分隔每個欄位的資訊,預設為分行符號(\n),可支援分行符號(\n)、半形分號(;)、半形句號(.)。
資料行分隔符號用於分隔欄位名與欄位類型,預設為半形逗號(,)。
以DDL格式大量設定,例如:
CREATE TABLE tablename ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
建立輸出欄位:單擊+建立輸出欄位,根據頁面提示填寫欄位並選擇類型。當前行完成配置後,單擊
表徵圖儲存。
映射關係
根據上遊的輸入和目標表的欄位,可以手動選擇欄位對應。映射關係包括同行映射和同名映射。
同名映射:對欄位名稱相同的欄位進行映射。
同行映射:源表和目標表的欄位名稱不一致,但欄位對應行的資料需要映射。只映射同行的欄位。
單擊確認,完成MySQL輸出組件的屬性配置。