使用DataWorks同步數(shù)據(jù)
本文以MaxCompute為例介紹如何將數(shù)據(jù)通過DataWorks同步至云數(shù)據(jù)庫ClickHouse。
背景信息
您可以通過DataWorks,將支持的各種數(shù)據(jù)源數(shù)據(jù)離線同步至云數(shù)據(jù)庫ClickHouse。離線同步支持的數(shù)據(jù)源類型,具體請(qǐng)參見支持的數(shù)據(jù)源與讀寫插件。
前提條件
已創(chuàng)建工作空間,引擎服務(wù)選擇為MaxCompute。如何創(chuàng)建,請(qǐng)參見創(chuàng)建工作空間。
已創(chuàng)建并配置獨(dú)享數(shù)據(jù)集成資源組。如何創(chuàng)建和配置,請(qǐng)參見新增和使用獨(dú)享數(shù)據(jù)集成資源組。
已創(chuàng)建目標(biāo)云數(shù)據(jù)庫ClickHouse集群和登錄數(shù)據(jù)庫的賬號(hào)和密碼。如何創(chuàng)建,請(qǐng)參見新建集群和創(chuàng)建賬號(hào)。
已具備登錄數(shù)據(jù)庫的操作權(quán)限。具體信息,請(qǐng)參見準(zhǔn)備權(quán)限。
如果RAM用戶使用DataWorks,需要阿里云主賬號(hào)為RAM用戶配置合適的成員角色。如何配置,請(qǐng)參見為工作空間添加空間成員。
注意事項(xiàng)
云數(shù)據(jù)庫ClickHouse僅支持獨(dú)享數(shù)據(jù)集成資源組。
如果您需要對(duì)已同步過的表再次同步,請(qǐng)先執(zhí)行
TRUNCATE TABLE <表名>;
語句,清空云數(shù)據(jù)庫ClickHouse表中已同步的數(shù)據(jù)。
操作步驟
創(chuàng)建數(shù)據(jù)源。
您需要為MaxCompute和云數(shù)據(jù)庫ClickHouse分別創(chuàng)建數(shù)據(jù)源。
說明如何創(chuàng)建數(shù)據(jù)源,請(qǐng)參見創(chuàng)建MaxCompute數(shù)據(jù)源和創(chuàng)建ClickHouse數(shù)據(jù)源。
創(chuàng)建MaxCompute表。
在左側(cè)導(dǎo)航欄,單擊工作空間。
在頁面左上方,選擇工作空間所在地域。
在工作空間列表頁,在目標(biāo)工作空間后的操作列,單擊 。
在數(shù)據(jù)開發(fā)頁面,將鼠標(biāo)懸停至圖標(biāo),單擊 。
在新建表對(duì)話框中,選擇路徑,輸入名稱,本文以odptabletest1表名為例,單擊新建。
在基本屬性區(qū)域,配置各項(xiàng)參數(shù)。
單擊工具欄中的DDL。
在DDL模式對(duì)話框中,輸入如下建表語句,單擊生成表結(jié)構(gòu)。
CREATE TABLE IF NOT EXISTS odptabletest1 ( v1 TINYINT, v2 SMALLINT );
分別單擊提交到開發(fā)環(huán)境和提交到生產(chǎn)環(huán)境。
寫入MaxCompute表數(shù)據(jù)。
在數(shù)據(jù)開發(fā)頁面,單擊左側(cè)導(dǎo)航欄的臨時(shí)查詢。
鼠標(biāo)懸停至圖標(biāo),單擊 。
在新建節(jié)點(diǎn)對(duì)話框中,選擇路徑,輸入名稱。
單擊確認(rèn)。
在節(jié)點(diǎn)的編輯頁面,輸入如下語句,為MaxCompute表寫入數(shù)據(jù)。
insert into odptabletest1 values (1,"a"),(2,"b"),(3,"c"),(4,"d");
單擊工具欄中的圖標(biāo)。
在MaxCompute計(jì)算成本估計(jì)窗口,單擊運(yùn)行。
創(chuàng)建云數(shù)據(jù)庫ClickHouse表。
在頁面左上角,選擇目標(biāo)集群所在的地域。
在集群列表頁面,選擇目標(biāo)集群對(duì)應(yīng)類型的實(shí)例列表,單擊目標(biāo)集群ID。
在集群信息頁面,請(qǐng)單擊右上方導(dǎo)航欄的登錄數(shù)據(jù)庫。
在登錄實(shí)例頁面,輸入數(shù)據(jù)庫賬號(hào)和密碼,單擊登錄。
輸入建表語句并單擊執(zhí)行(F8)。建表語句如下。
create table default.dataworktest ON CLUSTER default ( v1 Int, v2 String ) ENGINE = MergeTree ORDER BY v1;
說明云數(shù)據(jù)庫ClickHouse表的結(jié)構(gòu)類型需與MaxCompute對(duì)應(yīng)。
創(chuàng)建業(yè)務(wù)流程。
如果您已有業(yè)務(wù)流程,可以忽略該步驟。
在數(shù)據(jù)開發(fā)頁面,單擊左側(cè)導(dǎo)航欄的數(shù)據(jù)開發(fā)。
鼠標(biāo)懸停至圖標(biāo),選擇新建業(yè)務(wù)流程。
在新建業(yè)務(wù)流程對(duì)話框,輸入業(yè)務(wù)名稱。
重要業(yè)務(wù)名稱必須由大小寫字母、中文、數(shù)字、下劃線(_)以及小數(shù)點(diǎn)(.)組成,且不能超過128個(gè)字符。
單擊新建。
創(chuàng)建離線同步節(jié)點(diǎn)。
展開業(yè)務(wù)流程,右鍵單擊數(shù)據(jù)集成。
單擊 。
在新建節(jié)點(diǎn)對(duì)話框中,輸入名稱,并選擇路徑。
重要節(jié)點(diǎn)名稱必須由大小寫字母、中文、數(shù)字、下劃線(_)以及小數(shù)點(diǎn)(.)組成,且不能超過128個(gè)字符。
單擊確認(rèn)。
配置數(shù)據(jù)來源和數(shù)據(jù)去向。
配置數(shù)據(jù)來源:數(shù)據(jù)來源為DataWorks支持的任一數(shù)據(jù)源,本文以MaxCompute為例。
參數(shù)含義如下。
參數(shù)
描述
數(shù)據(jù)源
數(shù)據(jù)源的類型和名稱。
生產(chǎn)項(xiàng)目名
默認(rèn)不可以修改。
表
需要同步的表。
分區(qū)信息
如果您每日增量數(shù)據(jù)限定在對(duì)應(yīng)日期的分區(qū)中,可以使用分區(qū)進(jìn)行每日增量。例如,配置分區(qū)v17的值為${bizdate}。
說明DataWorks不支持對(duì)MaxCompute分區(qū)表進(jìn)行字段映射,您需要單獨(dú)配置分區(qū)字段。
說明參數(shù)配置的更多信息,請(qǐng)參見MaxCompute Reader。
配置數(shù)據(jù)去向:數(shù)據(jù)源的類型選擇為ClickHouse。
參數(shù)含義如下。
參數(shù)
描述
數(shù)據(jù)源
數(shù)據(jù)源的類型與名稱,其中,數(shù)據(jù)源的類型需選擇ClickHouse。
表
需要同步的表。
主鍵或者唯一鍵沖突處理
固定選擇為insert into(插入)。
導(dǎo)入前準(zhǔn)備語句
執(zhí)行數(shù)據(jù)同步任務(wù)之前率先執(zhí)行的SQL語句。
導(dǎo)入后完成語句
執(zhí)行數(shù)據(jù)同步任務(wù)之后執(zhí)行的SQL語句。
批量插入字節(jié)大小
批量插入數(shù)據(jù)的最大字節(jié)數(shù)。
批量條數(shù)
批量插入數(shù)據(jù)的條數(shù)。
(可選)字段映射:您可以選擇字段的映射關(guān)系,左側(cè)的源頭表字段和右側(cè)的目標(biāo)表字段為一一對(duì)應(yīng)關(guān)系。
說明參數(shù)說明,具體請(qǐng)參見字段映射。
(可選)通道控制:配置作業(yè)速率上限和臟數(shù)據(jù)檢查規(guī)則。
說明參數(shù)說明,具體請(qǐng)參見通道控制。
配置數(shù)據(jù)集成資源組。
單擊右側(cè)的數(shù)據(jù)集成資源組配置,選擇已經(jīng)創(chuàng)建好的獨(dú)享數(shù)據(jù)集成資源組。
保存并運(yùn)行數(shù)據(jù)同步任務(wù)。
單擊工具欄中的圖標(biāo),保存數(shù)據(jù)同步任務(wù)。
單擊工具欄中的圖標(biāo),運(yùn)行數(shù)據(jù)同步任務(wù)。
驗(yàn)證同步結(jié)果
在頁面左上角,選擇目標(biāo)集群所在的地域。
在集群列表頁面,選擇目標(biāo)集群對(duì)應(yīng)類型的實(shí)例列表,單擊目標(biāo)集群ID。
在集群信息頁面,單擊頁面右上方的登錄數(shù)據(jù)庫。
在登錄實(shí)例頁面,輸入數(shù)據(jù)庫賬號(hào)和密碼,單擊登錄。
輸入查詢語句并單擊執(zhí)行(F8),確認(rèn)數(shù)據(jù)是否同步成功,查詢語句如下。
SELECT * FROM dataworktest;
查詢結(jié)果如下。
說明當(dāng)您執(zhí)行查詢語句并成功返回結(jié)果時(shí),說明數(shù)據(jù)已從DataWorks同步至云數(shù)據(jù)庫ClickHouse。