MySQL整庫周期性增全量同步至Hive
本文以MySQL為源端,Hive為目標端場景為例,為您介紹如何把MySQL整個數(shù)據(jù)庫的數(shù)據(jù)離線同步到Hive。
使用限制
本實踐僅支持使用獨享數(shù)據(jù)集成資源組。
前提條件
已完成來源數(shù)據(jù)源、去向數(shù)據(jù)源的配置。
本實踐以MySQL作為來源數(shù)據(jù)源,以Hive作為去向數(shù)據(jù)源,因此您需要在DataWorks的工作空間的數(shù)據(jù)源管理頁面新增MySQL數(shù)據(jù)源和Hive數(shù)據(jù)源,兩個數(shù)據(jù)源支持的數(shù)據(jù)同步能力請參見MySQL數(shù)據(jù)源、Hive數(shù)據(jù)源。
已購買獨享數(shù)據(jù)集成資源組,并為資源組綁定工作空間、完成網(wǎng)絡(luò)連通配置。
本實踐僅支持使用獨享數(shù)據(jù)集成資源組,您需購買并配置獨享資源組,保障資源組與MySQL數(shù)據(jù)源、Hive數(shù)據(jù)源網(wǎng)絡(luò)連通,獨享數(shù)據(jù)集成資源組的購買與配置操作請參見新增和使用獨享數(shù)據(jù)集成資源組。
創(chuàng)建同步任務(wù)
登錄并進入數(shù)據(jù)集成子模塊頁面,單擊同步任務(wù)進入同步任務(wù)頁面,在頁面中單擊新增任務(wù),開始配置同步任務(wù)。
配置同步任務(wù)基本信息。
任務(wù)名稱:自定義。
同步類型:來源數(shù)據(jù)源選擇MySQL,去向數(shù)據(jù)源選擇Hive;根據(jù)同步場景需要同步類型與同步步驟。
若您需要進行一次性全量或周期性全量同步,此處請勾選全量同步。
若您需要進行一次性增量或周期性增量同步,此處請勾選增量同步。
若您需要進行一次性全量周期性增量同步,此處請同時勾選全量同步和增量同步。
網(wǎng)絡(luò)與資源配置:在下拉框中分別選擇已創(chuàng)建的MySQL數(shù)據(jù)源、Hive數(shù)據(jù)源、獨享數(shù)據(jù)集成資源組,單擊測試所有連通性,保障資源組與數(shù)據(jù)源之間的網(wǎng)絡(luò)連通性。
配置任務(wù)個性化信息。
根據(jù)界面提示選擇要同步的MySQL表。當前支持通過正則表達式進行表名搜索過濾。
配置目標庫屬性。此操作會影響通過數(shù)據(jù)集成新建表的表結(jié)構(gòu),已有表的表格式不受影響。
新建表存儲方式:可以選擇內(nèi)表、外表,決定新建目標表格式是內(nèi)表還是外表。
新建表格式:可以選擇parquet、orc、txt, 決定新建目標表的存儲格式。
寫入模式:決定任務(wù)在寫入時,是清空目標表還是保留歷史數(shù)據(jù)。
分區(qū)初始化設(shè)置:決定新建表的分區(qū)初始化值,默認只有一級分區(qū),您可以通過配置按鈕進行修改。
配置全增量控制:
配置任務(wù)的全增量類型。
如果您的同步步驟勾選了全量同步和增量同步,此處默認展示一次性全量,周期性增量,不可更改。
如果您的同步步驟選擇了全量同步,在全增量控制面板頁面,可以選擇任務(wù)的類型是一次性全量還是周期性全量。
如果您的同步步驟選擇了增量同步,在全增量控制面板頁面,可以選擇任務(wù)的類型為一次性增量還是周期性增量。
說明以下以一次性全量周期性增量為例,為您示例后續(xù)的配置要點。
配置周期調(diào)度參數(shù)。
如果您的任務(wù)涉及周期性同步,則可單擊周期調(diào)度參數(shù)配置進行配置。
配置目標表映射。
全選目標表映射框中的表信息,點擊批量刷新表映射按鈕,進行表映射刷新。
根據(jù)界面提示配置增量條件、周期配置等參數(shù),配置要點如下。
表粒度周期性調(diào)度參數(shù)配置以及增量條件配置:支持批量修改/單表定制化修改。
增量條件:對源端進行where字句過濾,此處只需寫where子句,不需要寫出where關(guān)鍵字。如果啟用了周期性配置,可以使用系統(tǒng)參數(shù)變量。例如:
STR_TO_DATE('${bizdate}', '%Y-%m-%d') <= columnName AND columnName < DATE_ADD(STR_TO_DATE('${bizdate}', '%Y-%m-%d'), interval 1 day)
其中
${bizdate}
為配置的調(diào)度參數(shù)。
分區(qū)字段賦值:您可以單擊批量修改中的目標表字段賦值來對分區(qū)字段進行賦值。
設(shè)置目標表名映射自定義和表粒度高級參數(shù)。
目標表名映射自定義:可以使用內(nèi)置變量和手動輸入的字符串拼接成為最終目標表名。
自定義高級參數(shù): 可以支持定制化設(shè)置,每張表的高級參數(shù)配置,如每張表讀取的并發(fā)數(shù)。
完成上述所有任務(wù)配置后,單擊完成配置,完成同步任務(wù)的配置。
任務(wù)運維
啟動同步任務(wù)
完成配置之后,界面會自動跳轉(zhuǎn)到任務(wù)列表頁面,您可以單擊對應(yīng)任務(wù)的操作列的啟動按鈕,啟動同步任務(wù)。
查看任務(wù)詳情
您可以單擊任務(wù)名稱,查看任務(wù)詳情。任務(wù)詳情包含以下幾個部分。
基本信息:包括任務(wù)的數(shù)據(jù)源信息,綁定的資源組以及同步方案。
執(zhí)行狀態(tài):MySQL到Hive的離線整庫同步任務(wù)細分后的同步步驟詳情。
如果您的任務(wù)同步類型為全量同步,此處展示結(jié)構(gòu)遷移以及全量同步。
如果您的任務(wù)同步類型為增量同步,此處展示結(jié)構(gòu)遷移以及增量同步。
如果您的任務(wù)同步類型為全量同步、增量同步,此處展示結(jié)構(gòu)遷移、全量同步以及增量同步。
詳細信息:針對"結(jié)構(gòu)遷移"以及"全量同步"、"增量同步"的信息執(zhí)行步驟。
任務(wù)重跑
直接重跑:不修改任務(wù)配置,直接點擊重跑操作。
效果:重跑一次性任務(wù)、周期性任務(wù)屬性做更新。
修改后重跑(增減表場景):編輯任務(wù),進行增減表的操作, 單擊完成。這個時候任務(wù)的操作會變成"應(yīng)用更新",單擊應(yīng)用更新會直接觸發(fā)修改后的任務(wù)重跑。
效果:新增的表才會進行同步,之前同步過的表不會再同步。
修改后重跑(修改表名信息):編輯任務(wù),進行目標表的名稱修改或者切換同步的目標表,點擊完成。這個時候任務(wù)的操作會變成"應(yīng)用更新",單擊應(yīng)用更新會直接觸發(fā)修改后的任務(wù)重跑。
效果:同步修改過的表,沒有修改的表不會再進行同步
數(shù)據(jù)開發(fā)相關(guān)場景
如果您有下游數(shù)據(jù)依賴,需要進行數(shù)據(jù)開發(fā)操作的場景,可以參考配置調(diào)度依賴,進行節(jié)點上下游的設(shè)置,對應(yīng)的周期任務(wù)節(jié)點信息可以在周期配置中查看。