本文為您介紹如何通過建立同步任務,匯出MaxCompute中的資料至MySQL資料來源中。
前提條件
已通過RDS建立MySQL執行個體,擷取RDS執行個體ID,並在RDS控制台添加白名單。詳情請參見快速建立RDS MySQL執行個體。
說明如果是通過自訂資源群組調度RDS的資料同步任務,必須把自訂資源群組的機器IP也加入RDS的白名單中。
如果您使用的是RDS MySQL資料庫,請在RDS MySQL資料庫中建立表odps_result,建表語句如下所示。
CREATE TABLE `ODPS_RESULT` ( `education` varchar(255) NULL , `num` int(10) NULL );
建表完成後,您可以執行
desc odps_result;
語句,查看錶詳情。已準備好結果表result_table,詳情請參見建表並上傳資料。
已建立虛擬節點(start)和ODPS SQL節點(insert_data,詳情請參見建立商務程序。
背景資訊
在DataWorks中,通常通過Data Integration功能,定期匯入系統中產生的業務資料至工作區。SQL任務進行計算後,再定期匯出計算結果至您指定的資料來源中,以便進一步展示或運行使用。
目前Data Integration功能支援從RDS、MySQL、SQL Server、PostgreSQL、MaxCompute、OCS、DRDS、OSS、Oracle、FTP、DM、HDFS和MongoDB等資料來源中,匯入資料至工作空間或從工作空間匯出資料。詳細的資料來源類型列表請參見支援的資料來源與讀寫外掛程式。
步驟一:新增資料來源
僅專案系統管理員角色可以建立資料來源,其他角色的成員僅支援查看資料來源。
進入管理中心頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的管理中心,在下拉框中選擇對應工作空間後單擊進入管理中心。
建立MySQL資料來源。
單擊左側導覽列的
,進入資料來源列表頁面。單擊新增資料來源,在新增資料來源對話方塊中選擇資料來源類型為MySQL。
配置資料來源資訊。
在建立MySQL資料來源對話方塊,配置各項參數。本文以建立阿里雲執行個體模式類型為例。
核心參數說明如下。
參數
描述
適用環境
分別配置開發環境及生產環境的資料來源。
配置模式
選擇阿里雲執行個體模式。
所屬雲帳號
選擇當前雲帳號。
地區
選擇相應地區。
執行個體
選擇已建立的RDS MySQL執行個體。選擇執行個體後,可單擊擷取最新地址,查看執行個體相關資訊。
若無可用執行個體,您可進入RDS控制台建立新的執行個體。
資料庫登入資訊
此處配置為該資料來源對應的預設資料庫名稱,您需要輸入登入資料庫的使用者名稱稱及密碼,密碼中避免使用@符號。
後續配置同步任務的說明如下:
配置整庫同步(包含即時和離線),您可以選擇相應RDS執行個體下所有具有許可權的資料庫。
配置離線同步任務,當您選擇使用多個資料庫時,則每個資料庫均需要配置一個資料來源。
認證選項
選擇無認證。
備庫設定
如果資料來源具備唯讀執行個體(備庫),可以在配置任務時開啟備庫設定,並選擇備庫ID。設定備庫的優勢是防止幹擾主庫,不影響主庫效能。如果有多個唯讀執行個體,則會任選一個可用的來讀取。
說明此功能僅支援獨享資源群組。
測試資源群組連通性。
在Data Integration和資料調度頁簽下,分別單擊相應資源群組後的測試連通性,連通狀態為可連通時,表示連通成功。
說明資料同步時,一個任務只能使用一種資源群組。
您需要測試每種資源群組的連通性,以保證同步任務使用的資源群組能夠與資料來源連通,否則將無法正常執行資料同步任務。
測試連通性通過後,單擊完成建立,資料來源建立完成。
步驟二:建立並配置同步任務
通過建立同步節點write_result來產生一個同步任務,用於將result_table表中的資料寫入至自己的MySQL資料庫中。操作如下:
進入資料開發頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
建立離線同步節點。
單擊建立表徵圖,選擇
,建立一個離線同步節點write_result產生一個同步任務。配置同步任務網路連結。
在節點編輯頁面的網路與資源配置頁簽,配置資料來源為MaxCompute(ODPS)、資料去向為MySQL,並選擇用於執行同步任務的資源群組,測試資料來源與資源群組的網路連通性。網路連通性配置,詳情請參見網路連通方案。
單擊下一步,進入任務配置介面。
配置同步任務資訊。
配置資料來源與去向。
資料來源選擇result_table表,資料去向選擇odps_result表。其他參數可根據業務需求選擇配置,配置詳情可參考通過嚮導模式配置離線同步任務。
配置欄位對應。
選擇資料來源和資料去向後,需指定源端和目標端列的映射關係,配置欄位對應關係後,任務將根據欄位對應關係,將源端欄位寫入目標端對應類型的欄位中。此處需配置源端表欄位和目標表欄位為一一對應關係。
配置通道控制。
參數
描述
任務期望最大並發數
用於定義當前任務從源端並行讀取或並行寫入目標端的最大線程數。
同步速率
用於控制同步速率。
限流:您可以通過限流量控制同步速率,以保護讀取端資料庫,避免抽取速度過大,給源庫造成太大的壓力。限速最小配置為1MB/S。
不限流:在不限流的情況下,任務將在所配置的並發數的限制基礎上,提供現有硬體環境下最大的傳輸效能。
說明流量度量值是Data Integration本身的度量值,不代表實際網卡流量。通常,網卡流量是通道流量膨脹的1至2倍,實際流量膨脹取決於具體的資料存放區系統傳輸序列化情況。
錯誤記錄數控制(髒資料控制)
用於定義髒資料閾值,及對任務的影響。
重要當髒資料過多時,會影響同步任務的整體同步速度。
不配置時預設允許髒資料,即任務產生髒資料時不影響任務執行。
配置為0,表示不允許髒資料存在。如果同步過程中產生髒資料,任務將失敗退出。
允許髒資料並設定其閾值時:
若產生的髒資料在閾值範圍內,同步任務將忽略髒資料(即不會寫入目標端),並正常執行。
若產生的髒資料超出閾值範圍,同步任務將失敗退出。
說明髒資料認定標準:髒資料是對業務沒有意義,格式非法或者同步過程中出現問題的資料。單條資料寫入目標資料來源過程中發生了異常,則此條資料為髒資料。 因此只要是寫入失敗的資料均被歸類於髒資料。
例如,源端是VARCHAR類型的資料寫到INT類型的目標列中,則會因為轉換不合理導致髒資料不會成功寫入目的端。您可以在同步任務配置時,控制同步過程中是否允許髒資料產生,並且支援控制髒資料條數,即當髒資料超過指定條數時,任務失敗退出。
分散式處理能力
用於控制是否開啟分布式模式來執行當前任務。
開啟:分布式執行模式可以將您的任務切片分散到多台執行節點上並發執行,進而做到同步速度隨執行叢集規模做水平擴充,突破單機執行瓶頸。
未開啟:配置的並發資料僅僅是單機上的進程並發,無法利用多機聯合計算。
如果您對於同步效能有比較高的訴求可以使用分布式模式。 另外分布式模式也可以使用機器的片段資源,對資源使用率友好。
重要如果獨享資源群組只有1台機器,不建議使用分布式,因為無法利用多機資源能力。
如果單機已經滿足速度需要,建議優選單機模式,簡化任務執行模式。
並發數大於等於8個才能開啟分散式處理能力。
部分資料來源支援分布式模式執行任務,詳情請參見各外掛程式配置文檔:支援的資料來源與讀寫外掛程式。
配置任務依賴關係。
雙擊當前商務程序,設定insert_data節點為write_result節點的上遊節點。
任務配置完成後,單擊工具列的表徵圖,儲存任務。
步驟三:提交並發布任務
同步任務儲存後,返回商務程序。單擊工具列中的表徵圖,提交同步任務至調度系統中。調度系統會根據配置的屬性,從第二天開始自動定時執行。
後續步驟
現在,您已經學習了如何建立同步任務,將資料匯出至不同類型的資料來源中,您可以繼續下一個教程。在該教程中,您將學習如何設定同步任務的調度屬性和依賴關係。詳情請參見設定周期和依賴。
相關文檔
更多離線任務的配置,詳情請參見配置離線同步任務。