準(zhǔn)備數(shù)據(jù)
在數(shù)據(jù)準(zhǔn)備階段,您需要同步原始數(shù)據(jù)至MaxCompute。
前提條件
已完成準(zhǔn)備環(huán)境。
已新增MaxCompute數(shù)據(jù)源。詳情請(qǐng)參見(jiàn)創(chuàng)建MaxCompute數(shù)據(jù)源。
準(zhǔn)備數(shù)據(jù)源
通過(guò)RDS創(chuàng)建MySQL實(shí)例,獲取RDS實(shí)例ID。詳情請(qǐng)參見(jiàn)快速創(chuàng)建RDS MySQL實(shí)例。
在RDS控制臺(tái)添加白名單。
說(shuō)明通過(guò)Serverless資源組調(diào)度RDS的數(shù)據(jù)同步任務(wù)時(shí)需注意:
通過(guò)內(nèi)網(wǎng)訪問(wèn),請(qǐng)將資源組綁定的交換機(jī)網(wǎng)段IP添加到數(shù)據(jù)源的白名單列表。
通過(guò)公網(wǎng)訪問(wèn),將Serverless資源組綁定VPC配置的EIP添加至數(shù)據(jù)源的白名單列表。
詳情請(qǐng)參見(jiàn):網(wǎng)絡(luò)連通方案。
下載本教程使用的原始數(shù)據(jù)indicators_data、steal_flag_data和trend_data。
上傳原始數(shù)據(jù)至RDS數(shù)據(jù)源,詳情請(qǐng)參見(jiàn)將Excel的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)。
新增數(shù)據(jù)源
本次實(shí)驗(yàn)需要?jiǎng)?chuàng)建MySQL數(shù)據(jù)源。
進(jìn)入管理中心頁(yè)面。
登錄DataWorks控制臺(tái),切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的 ,在下拉框中選擇對(duì)應(yīng)工作空間后單擊進(jìn)入管理中心。
創(chuàng)建MySQL數(shù)據(jù)源。
單擊左側(cè)導(dǎo)航欄的
,進(jìn)入數(shù)據(jù)源列表頁(yè)面。單擊新增數(shù)據(jù)源,在新增數(shù)據(jù)源對(duì)話(huà)框中選擇數(shù)據(jù)源類(lèi)型為MySQL。
配置數(shù)據(jù)源信息。
在創(chuàng)建MySQL數(shù)據(jù)源對(duì)話(huà)框,配置各項(xiàng)參數(shù)。本文以創(chuàng)建阿里云實(shí)例模式類(lèi)型為例。
核心參數(shù)說(shuō)明如下。
參數(shù)
描述
適用環(huán)境
分別配置開(kāi)發(fā)環(huán)境及生產(chǎn)環(huán)境的數(shù)據(jù)源。
配置模式
選擇阿里云實(shí)例模式。
所屬云賬號(hào)
選擇當(dāng)前云賬號(hào)。
地域
選擇相應(yīng)地域。
實(shí)例
選擇已創(chuàng)建的RDS MySQL實(shí)例。選擇實(shí)例后,可單擊獲取最新地址,查看實(shí)例相關(guān)信息。
若無(wú)可用實(shí)例,您可進(jìn)入RDS控制臺(tái)創(chuàng)建新的實(shí)例。
數(shù)據(jù)庫(kù)登錄信息
此處配置為該數(shù)據(jù)源對(duì)應(yīng)的默認(rèn)數(shù)據(jù)庫(kù)名稱(chēng),您需要輸入登錄數(shù)據(jù)庫(kù)的用戶(hù)名稱(chēng)及密碼,密碼中避免使用@符號(hào)。
后續(xù)配置同步任務(wù)的說(shuō)明如下:
配置整庫(kù)同步(包含實(shí)時(shí)和離線(xiàn)),您可以選擇相應(yīng)RDS實(shí)例下所有具有權(quán)限的數(shù)據(jù)庫(kù)。
配置離線(xiàn)同步任務(wù),當(dāng)您選擇使用多個(gè)數(shù)據(jù)庫(kù)時(shí),則每個(gè)數(shù)據(jù)庫(kù)均需要配置一個(gè)數(shù)據(jù)源。
認(rèn)證選項(xiàng)
選擇無(wú)認(rèn)證。
備庫(kù)設(shè)置
如果數(shù)據(jù)源具備只讀實(shí)例(備庫(kù)),可以在配置任務(wù)時(shí)開(kāi)啟備庫(kù)設(shè)置,并選擇備庫(kù)ID。設(shè)置備庫(kù)的優(yōu)勢(shì)是防止干擾主庫(kù),不影響主庫(kù)性能。如果有多個(gè)只讀實(shí)例,則會(huì)任選一個(gè)可用的來(lái)讀取。
說(shuō)明此功能僅支持獨(dú)享資源組。
測(cè)試資源組連通性。
在數(shù)據(jù)集成和數(shù)據(jù)調(diào)度頁(yè)簽下,分別單擊相應(yīng)資源組后的測(cè)試連通性,連通狀態(tài)為可連通時(shí),表示連通成功。
說(shuō)明數(shù)據(jù)同步時(shí),一個(gè)任務(wù)只能使用一種資源組。
您需要測(cè)試每種資源組的連通性,以保證同步任務(wù)使用的資源組能夠與數(shù)據(jù)源連通,否則將無(wú)法正常執(zhí)行數(shù)據(jù)同步任務(wù)。
測(cè)試連通性通過(guò)后,單擊完成創(chuàng)建,數(shù)據(jù)源創(chuàng)建完成。
新建業(yè)務(wù)流程
單擊當(dāng)前頁(yè)面左上角的圖標(biāo),選擇 。
右鍵單擊業(yè)務(wù)流程,選擇新建業(yè)務(wù)流程。
在新建業(yè)務(wù)流程對(duì)話(huà)框中,輸入業(yè)務(wù)名稱(chēng)和描述。
說(shuō)明業(yè)務(wù)名稱(chēng)的長(zhǎng)度不能超過(guò)128個(gè)字符,且必須是大小寫(xiě)字母、中文、數(shù)字、下劃線(xiàn)(_)以及小數(shù)點(diǎn)(.)。
單擊新建。
進(jìn)入業(yè)務(wù)流程開(kāi)發(fā)面板,并向面板中拖入一個(gè)虛擬節(jié)點(diǎn)(start)和三個(gè)離線(xiàn)同步節(jié)點(diǎn)(電量下降趨勢(shì)數(shù)據(jù)同步、竊電標(biāo)志數(shù)據(jù)同步和指標(biāo)數(shù)據(jù)同步)分別填寫(xiě)相應(yīng)的配置后,單擊提交。
拖拽連線(xiàn)將start節(jié)點(diǎn)設(shè)置為三個(gè)離線(xiàn)同步節(jié)點(diǎn)的上游節(jié)點(diǎn)。
配置start節(jié)點(diǎn)
雙擊虛擬節(jié)點(diǎn),單擊右側(cè)的調(diào)度配置。
設(shè)置start節(jié)點(diǎn)的上游節(jié)點(diǎn)為工作空間根節(jié)點(diǎn)。
由于新版本給每個(gè)節(jié)點(diǎn)都設(shè)置了輸入輸出節(jié)點(diǎn),所以需要給start節(jié)點(diǎn)設(shè)置一個(gè)輸入。此處設(shè)置其上游節(jié)點(diǎn)為工作空間根節(jié)點(diǎn),通常命名為工作空間名_root。
配置完成后,單擊左上角的圖標(biāo)。
新建表
右鍵單擊新建的業(yè)務(wù)流程,選擇 。
在新建表對(duì)話(huà)框中,選擇引擎實(shí)例、路徑,輸入表名稱(chēng),單擊新建。
此處需要?jiǎng)?chuàng)建3張表,分別存儲(chǔ)同步過(guò)來(lái)的電量下降趨勢(shì)數(shù)據(jù)、指標(biāo)數(shù)據(jù)和竊電標(biāo)志數(shù)據(jù)(trend_data、indicators_data和steal_flag_data)。
說(shuō)明表名不能超過(guò)64個(gè)字符,且必須以字母開(kāi)頭,不能包含中文或特殊字符。
打開(kāi)創(chuàng)建的表,單擊DDL模式,分別輸入以下相應(yīng)的建表語(yǔ)句。
--電量下降趨勢(shì)表 CREATE TABLE trend_data ( uid BIGINT, trend BIGINT ) PARTITIONED BY (dt string);
--指標(biāo)數(shù)據(jù) CREATE TABLE indicators_data ( uid BIGINT, xiansun BIGINT, warnindicator BIGINT ) COMMENT '*' PARTITIONED BY (ds string) LIFECYCLE 36000;
--竊電標(biāo)志數(shù)據(jù) CREATE TABLE steal_flag_data ( uid BIGINT, flag BIGINT ) COMMENT '*' PARTITIONED BY (ds string) LIFECYCLE 36000;
建表語(yǔ)句輸入完成后,單擊生成表結(jié)構(gòu)并確認(rèn)覆蓋當(dāng)前操作。
返回建表頁(yè)面后,在基本屬性中輸入表的中文名。
完成設(shè)置后,分別單擊提交到開(kāi)發(fā)環(huán)境和提交到生產(chǎn)環(huán)境。
配置離線(xiàn)同步節(jié)點(diǎn)
配置電量下降趨勢(shì)數(shù)據(jù)同步節(jié)點(diǎn)。
雙擊電量下降趨勢(shì)數(shù)據(jù)同步節(jié)點(diǎn),進(jìn)入節(jié)點(diǎn)配置頁(yè)面。
選擇數(shù)據(jù)來(lái)源。
參數(shù)
描述
數(shù)據(jù)源
選擇
。表
選擇MySQL數(shù)據(jù)源中的表trending。
數(shù)據(jù)過(guò)濾
您將要同步數(shù)據(jù)的篩選條件,暫時(shí)不支持limit關(guān)鍵字過(guò)濾。SQL語(yǔ)法與選擇的數(shù)據(jù)源一致,此處可以不填。
切分鍵
讀取數(shù)據(jù)時(shí),根據(jù)配置的字段進(jìn)行數(shù)據(jù)分片,實(shí)現(xiàn)并發(fā)讀取,可以提升數(shù)據(jù)同步效率。此處可以不填。
選擇數(shù)據(jù)去向。
參數(shù)
描述
數(shù)據(jù)源
選擇ODPS,然后選擇MaxCompute數(shù)據(jù)源名稱(chēng)。
表
選擇ODPS數(shù)據(jù)源中的表trend_data。
分區(qū)信息
輸入要同步的分區(qū)列,此處默認(rèn)為
dt=${bdp.system.bizdate}
。清理規(guī)則
選擇寫(xiě)入前清理已有數(shù)據(jù)。
空字符串作為null
選擇否。
配置字段映射。
配置通道控制。
參數(shù)
描述
任務(wù)期望最大并發(fā)數(shù)
數(shù)據(jù)同步任務(wù)內(nèi),可以從源并行讀取或并行寫(xiě)入數(shù)據(jù)存儲(chǔ)端的最大線(xiàn)程數(shù)。向?qū)J酵ㄟ^(guò)界面化配置并發(fā)數(shù),指定任務(wù)所使用的并行度。
同步速率
設(shè)置同步速率可以保護(hù)讀取端數(shù)據(jù)庫(kù),以避免抽取速度過(guò)大,給源庫(kù)造成太大的壓力。同步速率建議限流,結(jié)合源庫(kù)的配置,請(qǐng)合理配置抽取速率。
錯(cuò)誤記錄數(shù)
錯(cuò)誤記錄數(shù),表示臟數(shù)據(jù)的最大容忍條數(shù)。
確認(rèn)當(dāng)前節(jié)點(diǎn)的配置無(wú)誤后,單擊左上角的圖標(biāo)。
提交業(yè)務(wù)流程
打開(kāi)業(yè)務(wù)流程配置面板,單擊左上角的進(jìn)行提交。
選擇提交對(duì)話(huà)框中需要提交的節(jié)點(diǎn),輸入備注,勾選忽略輸入輸出不一致的告警。
單擊提交,待顯示提交成功即可。
確認(rèn)數(shù)據(jù)是否成功導(dǎo)入MaxCompute
在數(shù)據(jù)開(kāi)發(fā)頁(yè)面的左側(cè)導(dǎo)航欄,單擊臨時(shí)查詢(xún),進(jìn)入臨時(shí)查詢(xún)面板。
右鍵單擊臨時(shí)查詢(xún),選擇 。
編寫(xiě)并執(zhí)行SQL語(yǔ)句,查看導(dǎo)入表trend_data、indicators_data和steal_flag_data的記錄數(shù)。
SQL語(yǔ)句如下所示,其中分區(qū)列需要更新為業(yè)務(wù)日期。例如,任務(wù)運(yùn)行的日期為20190809,則業(yè)務(wù)日期為201900808。
--查看是否成功寫(xiě)入MaxCompute SELECT COUNT(*) FROM trend_data WHERE dt=業(yè)務(wù)日期; SELECT COUNT(*) FROM indicators_data WHERE ds=業(yè)務(wù)日期; SELECT COUNT(*) FROM steal_flag_data WHERE ds=業(yè)務(wù)日期;
后續(xù)步驟
現(xiàn)在,您已經(jīng)學(xué)習(xí)了如何通過(guò)數(shù)據(jù)同步采集數(shù)據(jù),您可以繼續(xù)下一個(gè)教程。在該教程中,您將學(xué)習(xí)如何對(duì)采集的數(shù)據(jù)進(jìn)行計(jì)算與分析。詳情請(qǐng)參見(jiàn)加工數(shù)據(jù)。