基于阿里云數(shù)加構(gòu)建企業(yè)級數(shù)據(jù)分析平臺(tái)(實(shí)驗(yàn)篇)

實(shí)驗(yàn)描述

實(shí)驗(yàn)概述

本實(shí)驗(yàn)主要聚焦于如何使用大數(shù)據(jù)計(jì)算服務(wù)MaxCompute構(gòu)建企業(yè)級數(shù)據(jù)分析平臺(tái)骡苞,如何對業(yè)務(wù)數(shù)據(jù)進(jìn)行分析并將分析的結(jié)果用豐富的圖表展示出來。

實(shí)驗(yàn)基本要求

學(xué)習(xí)者應(yīng)該能夠掌握以下知識(shí)點(diǎn):

  • 了解數(shù)據(jù)分析的步驟和目的
  • 熟悉數(shù)據(jù)分析平臺(tái)搭建的組成部分
  • 掌握阿里云數(shù)加不同產(chǎn)品及其使用場景
  • 靈活使用數(shù)加的不同產(chǎn)品搭建數(shù)據(jù)分析平臺(tái)

第1章:實(shí)驗(yàn)背景

背景介紹

ABC是一家銷售公司傅瞻,其客戶可以通過電話梯投、郵件或者網(wǎng)站下單訂購該公司經(jīng)營范圍內(nèi)的商品桐臊,并使用信用卡轴合、銀行卡、轉(zhuǎn)賬等方式付費(fèi)平酿。付費(fèi)成功后凤优,ABC公司會(huì)根據(jù)客戶地址依據(jù)就近原則選擇自己的貨倉,指派合適的快遞人員配送商品蜈彼。
之前該公司規(guī)模較小筑辨,采取了傳統(tǒng)公司的粗放式經(jīng)營模式。隨著業(yè)務(wù)的發(fā)展以及競爭的日益加劇幸逆,該公司意識(shí)到需要通過數(shù)據(jù)分析的方式提高競爭力挖垛。
您是ABC公司招聘來的第一個(gè)數(shù)據(jù)分析師,他們給你的title是CDO(首席數(shù)據(jù)官)秉颗,上任后的要做的第一件事兒是幫助公司搭建一個(gè)數(shù)據(jù)分析系統(tǒng),幫公司監(jiān)控當(dāng)前業(yè)務(wù)運(yùn)轉(zhuǎn)情況送矩,讓CEO能夠輕松掌握公司的健康程度蚕甥。CEO通過郵件表明了他最近關(guān)心的一些信息:

  • 成交量和金額,以及最近的趨勢是好是壞
  • 客戶的變化情況
  • 庫存栋荸,既不能斷貨菇怀,也不能滯壓太多
  • 物流的效率
    第二天,負(fù)責(zé)公司業(yè)務(wù)系統(tǒng)建設(shè)和運(yùn)維的PM向你介紹了一下公司現(xiàn)在的業(yè)務(wù)系統(tǒng)狀況晌块,核心業(yè)務(wù)都運(yùn)行在一個(gè)MySQL版的RDS上爱沟,丟給你了一張?jiān)械南到y(tǒng)ER圖,并建議你不要自建系統(tǒng)匆背,而直接使用阿里云的大數(shù)據(jù)平臺(tái)(數(shù)加)去搭建數(shù)據(jù)分析平臺(tái)呼伸。

思路與流程

你梳理了一下CEO的需求,快速規(guī)劃了一個(gè)最終展現(xiàn)給他的草圖,根據(jù)多年的經(jīng)驗(yàn)括享,覺得這一張圖基本上能回答了CEO的主要問題:



接下來需要做的是倒推要完成這些指標(biāo)的展現(xiàn)搂根,需要用到哪些業(yè)務(wù)系統(tǒng)的數(shù)據(jù),通過PM提供的ER圖铃辖,并實(shí)際去訪問了一下業(yè)務(wù)系統(tǒng)的數(shù)據(jù)剩愧,你終于圈定了數(shù)據(jù)源:

  • 訂單表orders (成交量、成交金額)
  • 客戶表customers (保有量娇斩、新增量)
  • 庫存表stock仁卷、產(chǎn)品表dim_product (庫存量、滯壓資金)
  • 派單表dispatch犬第、配送表dilivery(派件數(shù)锦积、送達(dá)及時(shí)率)
    接著需要確定這些數(shù)據(jù)的獲取方式(全量還是增量)、處理的時(shí)間粒度(多久處理一次)等瓶殃,其中訂單表充包、派單表、配送表均為增量獲取遥椿,客戶表基矮、庫存表、產(chǎn)品表均為全量獲取

    非常明顯冠场,要做的任務(wù)分為二部分:
    第一步家浇,數(shù)據(jù)處理
    首先進(jìn)行數(shù)據(jù)同步,即將所需數(shù)據(jù)碴裙,從業(yè)務(wù)系統(tǒng)中同步到分析系統(tǒng)中(即標(biāo)注為ODS的部分)钢悲,接著進(jìn)行數(shù)據(jù)加工:即將明細(xì)數(shù)據(jù)進(jìn)行清洗、匯總舔株,生成dw或者st數(shù)據(jù)莺琳。這兩部分通常會(huì)被合稱為數(shù)據(jù)ETL(Extract-Transform-Load)
    第二步,數(shù)據(jù)展現(xiàn)
    即把匯總數(shù)據(jù)通過圖表等方式展現(xiàn)給CEO去看要做的內(nèi)容很明確了载慈,工欲善其事必先利其器惭等,花了一點(diǎn)時(shí)間了解數(shù)加平臺(tái)的產(chǎn)品和功能,很快為上述流程確定了產(chǎn)品的選型:

    首先办铡,需要開通阿里云官網(wǎng)賬號(hào)辞做,然后,就可以把上述要做的內(nèi)容完成就萬事大吉了寡具。
    現(xiàn)在秤茅,所有要做的事兒都已經(jīng)搞清楚了。在還沒有其他數(shù)據(jù)分析師的情況下童叠,只能靠CDO自己動(dòng)手啦框喳!

第2章:實(shí)驗(yàn)環(huán)境

資源環(huán)境

請點(diǎn)擊頁面左側(cè)的 實(shí)驗(yàn)資源 ,在左側(cè)欄中,查看本次實(shí)驗(yàn)資源信息帖努。


在彈出的左側(cè)欄中撰豺,點(diǎn)擊 創(chuàng)建資源 按鈕,開始創(chuàng)建實(shí)驗(yàn)資源拼余。
資源創(chuàng)建過程需要1-3分鐘污桦。完成實(shí)驗(yàn)資源的創(chuàng)建后,用戶可以通過 實(shí)驗(yàn)資源 查看實(shí)驗(yàn)中所需的資源信息匙监,例如:阿里云賬號(hào)等凡橱。

準(zhǔn)備源數(shù)據(jù)

注意:實(shí)驗(yàn)首選chrome瀏覽器,其他瀏覽器在使用過程中可能會(huì)因?yàn)榘姹镜脑蛴屑嫒菪缘膯栴}
本部分用戶需要通過配置一個(gè)云數(shù)據(jù)庫(RDS for MySQL)亭姥,創(chuàng)建一個(gè)數(shù)據(jù)庫abc_quickbi稼钩,然后使用該庫模擬業(yè)務(wù)系統(tǒng),即將附件中提供的6張表上傳到該庫中去达罗。
具體步驟如下:

  1. 在云中沙箱的實(shí)驗(yàn)?zāi)夸浿邪映牛c(diǎn)擊 實(shí)驗(yàn)資源 小節(jié),點(diǎn)擊創(chuàng)建資源
    【注】一旦開始創(chuàng)建資源粮揉,該實(shí)驗(yàn)就開始計(jì)時(shí)巡李,并在到達(dá)實(shí)驗(yàn)規(guī)定的時(shí)長時(shí),將自動(dòng)結(jié)束實(shí)驗(yàn)并清除資源


  2. 等待資源創(chuàng)建成功后扶认,可在該頁面看到類似于下圖的信息侨拦,其中點(diǎn)擊 前往控制臺(tái) 按鈕后將在一個(gè)新頁面中連接到阿里云官網(wǎng),登陸時(shí)需要的企業(yè)別名辐宾、子用戶名稱和密碼需要在阿里云賬號(hào)信息顯示的內(nèi)容中獲取夹孔,實(shí)際動(dòng)手的操作步驟會(huì)在此進(jìn)行乍楚;另外,該數(shù)據(jù)庫實(shí)例的地域?yàn)槿A東2(上海)捕发,這個(gè)信息實(shí)驗(yàn)中也會(huì)用到


  3. 點(diǎn)擊前往控制臺(tái)贴谎,在彈出的登陸頁面中坏逢,依次填入對應(yīng)的子用戶名稱 和 子用戶密碼高诺,點(diǎn)擊登錄灌危,進(jìn)入阿里云官網(wǎng)的管理控制臺(tái)


  4. 點(diǎn)擊產(chǎn)品與服務(wù),在下來菜單選中云計(jì)算基礎(chǔ)服務(wù)冒窍,在下一集 數(shù)據(jù)庫 菜單中點(diǎn)擊云數(shù)據(jù)庫RDS版,進(jìn)入RDS管理控制臺(tái)首頁


  5. 點(diǎn)擊云數(shù)據(jù)庫RDS豺鼻,進(jìn)入實(shí)例管理界面后综液,根據(jù)之前資源信息,選擇同樣的地域(本例地域?yàn)槿A東2)儒飒。由于在同一地域會(huì)創(chuàng)建多個(gè)RDS實(shí)例供不同實(shí)驗(yàn)賬號(hào)使用谬莹,請?jiān)?實(shí)例名稱 右側(cè)的文本框中輸入實(shí)驗(yàn)資源中的 子用戶名稱,將會(huì)找到分配給該賬號(hào)的RDS實(shí)例,然后點(diǎn)擊其右側(cè)的管理:


  6. 左側(cè)導(dǎo)航欄中點(diǎn)擊數(shù)據(jù)庫管理附帽,目前數(shù)據(jù)庫列表為空埠戳,點(diǎn)擊右側(cè)的按鈕創(chuàng)建數(shù)據(jù)庫:


  7. 輸入數(shù)據(jù)庫(DB)名稱為abc_quickbi,點(diǎn)擊確定蕉扮,開始創(chuàng)建數(shù)據(jù)庫整胃,期間可以通過點(diǎn)擊右上方的刷新按鈕查看實(shí)時(shí)狀態(tài):


  8. 點(diǎn)擊左側(cè)導(dǎo)航欄的賬號(hào)管理,進(jìn)入賬號(hào)管理界面喳钟,點(diǎn)擊創(chuàng)建賬號(hào)


  9. 填寫賬號(hào)配置信息屁使,包括數(shù)據(jù)庫賬號(hào)為abc_user,密碼為Abc_user123奔则,重復(fù)輸入一次確認(rèn)密碼蛮寂,同時(shí)將數(shù)據(jù)庫abc_quickbi的讀寫權(quán)限授權(quán)給該用戶,點(diǎn)擊確定易茬,開始創(chuàng)建用戶(普通用戶)


  10. 點(diǎn)擊登錄數(shù)據(jù)庫酬蹋,在DMS(數(shù)據(jù)庫管理工具)頁面填寫相關(guān)登錄信息后登陸數(shù)據(jù)庫



    填寫DMS頁的登錄信息,其數(shù)據(jù)庫信息為:RDS實(shí)例鏈接地址:端口(RDS實(shí)例鏈接地址在實(shí)驗(yàn)資源中有顯示抽莱,端口使用3306)范抓,數(shù)據(jù)庫的用戶名和密碼是剛剛創(chuàng)建的數(shù)據(jù)庫賬號(hào)及其密碼,如下圖所示岸蜗。點(diǎn)擊登錄尉咕,進(jìn)入數(shù)據(jù)庫的管理頁面。
    【注】首次使用DMS需要 激活授權(quán) 后璃岳,然后在RDS中重新點(diǎn)擊 登錄數(shù)據(jù)庫年缎。


  11. 點(diǎn)擊SQL操作,選中SQL窗口铃慷,打開SQL操作窗口


  12. 在附件下載中下載data.zip文件到本地并解壓单芜,將解壓的文件crt_src_tables.sql中的內(nèi)容復(fù)制到SQL窗口,點(diǎn)擊執(zhí)行(或者使用快捷鍵F8)犁柜,完成表的創(chuàng)建



  13. 點(diǎn)擊數(shù)據(jù)方案洲鸠,選中導(dǎo)入,打開數(shù)據(jù)導(dǎo)入頁面


  14. 在導(dǎo)入頁中點(diǎn)擊新增任務(wù)馋缅,點(diǎn)擊選中文件扒腕,選中解壓的文件orders_dyn.sql,點(diǎn)擊開始加載數(shù)據(jù)



    導(dǎo)入完成后萤悴,點(diǎn)擊關(guān)閉按鈕瘾腰,關(guān)閉彈窗


  15. 完成后回到SQL窗口,輸入
select * from orders 

查看結(jié)果覆履,查看的主要項(xiàng)為:該表中是否已有數(shù)據(jù)蹋盆,在顯示的前100條記錄中费薄,是否有空值(null)等


  1. 重復(fù)14和15兩步,將剩余的5個(gè)文件逐個(gè)上傳到該數(shù)據(jù)庫中栖雾,包括:
    customers_dyn.sql :對應(yīng)的查詢結(jié)果命令是select * from customers
    dilivery_dyn.sql :對應(yīng)的查詢結(jié)果命令是select * from dilivery
    dim_product.sql :對應(yīng)的查詢結(jié)果命令是select * from dim_product
    dispatch_dyn.sql :對應(yīng)的查詢結(jié)果命令是select * from dispatch
    stock_dyn.sql:對應(yīng)的查詢結(jié)果命令是select * from stock
    【注】本實(shí)驗(yàn)中將會(huì)使用該數(shù)據(jù)庫中的表作為報(bào)表分析的源數(shù)據(jù)楞抡,請務(wù)必完成此準(zhǔn)備工作,方可進(jìn)行后續(xù)步驟析藕。

配置數(shù)據(jù)源

本小節(jié)主要內(nèi)容:登陸DataWorks,開通DataWorks服務(wù)噪径,并配置業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源柱恤。

  1. 登陸后進(jìn)入管理控制臺(tái),依次點(diǎn)擊大數(shù)據(jù)(數(shù)加)-> DataWorks找爱,進(jìn)入 大數(shù)據(jù)開發(fā)套件 概覽頁梗顺。


  2. 在大數(shù)據(jù)開發(fā)套件的概覽頁,當(dāng)前賬號(hào)中已創(chuàng)建一個(gè)項(xiàng)目车摄。通過如下步驟寺谤,配置業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源。
    1) 在大數(shù)據(jù)開發(fā)套件的概覽頁吮播,找到已創(chuàng)建的項(xiàng)目变屁,點(diǎn)擊 數(shù)據(jù)集成 。



    2)進(jìn)入數(shù)據(jù)集成界面后意狠,點(diǎn)擊左側(cè)列表中的數(shù)據(jù)源粟关,進(jìn)入數(shù)據(jù)源配置頁面,右側(cè)面板中顯示的即為當(dāng)前該項(xiàng)目中已有的數(shù)據(jù)源环戈。
    【注意】odps_first為默認(rèn)添加的數(shù)據(jù)源闷板,它表示當(dāng)前項(xiàng)目對應(yīng)的MaxCompute的數(shù)據(jù)源,可簡單的理解為當(dāng)前項(xiàng)目對應(yīng)的數(shù)據(jù)存儲(chǔ)院塞、計(jì)算服務(wù)遮晚。



    3)點(diǎn)擊頁面右上角 新增數(shù)據(jù)源 -> MySQL,配置一個(gè)RDS的數(shù)據(jù)源拦止,配置信息為實(shí)驗(yàn)資源中顯示的RDS實(shí)例县遣。


    4)在彈出的對話框中,輸入如下信息汹族,并點(diǎn)擊 測試連通性 萧求,成功后點(diǎn)擊 確定 。
    數(shù)據(jù)源類型:阿里云數(shù)據(jù)庫(RDS)
    數(shù)據(jù)源名稱:rds_ebuzi_yq
    RDS實(shí)例ID:輸入實(shí)驗(yàn)資源中已創(chuàng)建RDS實(shí)例的ID
    RDS實(shí)例購買者ID:輸入實(shí)驗(yàn)資源中的企業(yè)別名
    數(shù)據(jù)庫名稱:abc_quickbi
    用戶名:abc_user
    密碼:Abc_user123


  3. 至此顶瞒,準(zhǔn)備工作完畢夸政。

第3章:數(shù)據(jù)任務(wù)開發(fā)

建表

本章的主要內(nèi)容:在分析系統(tǒng)中,建表搁拙,并配置秒梳、開發(fā)ETL的任務(wù)。本小節(jié)主要內(nèi)容:在分析系統(tǒng)中箕速,創(chuàng)建表酪碘。

  1. 在DataWorks主頁面上方找到數(shù)據(jù)開發(fā)的模塊,點(diǎn)擊 數(shù)據(jù)開發(fā) 盐茎。



    2兴垦、點(diǎn)擊【臨時(shí)查詢】里的新建節(jié)點(diǎn),選擇ODPS SQL


  2. 給SQL指定名字create_tables字柠,類型請選定ODPS SQL探越。完成后,點(diǎn)擊 提交


  3. 通過如下步驟窑业,在腳本中钦幔,執(zhí)行 create_tables.sql 。
    1)從附件下載中常柄,下載文件 create_tables.sql鲤氢,并拷貝文件中的sql語句到DataIDE的 creat_tables 腳本文件中。



    2)在 create_tables 文件上方菜單中西潘,點(diǎn)擊 保存 卷玉。完成后,點(diǎn)擊 運(yùn)行



    3)等待一段時(shí)間喷市,完成表創(chuàng)建相种。
  4. 通過如下步驟,驗(yàn)證實(shí)驗(yàn)中使用的表是否全部創(chuàng)建完成品姓。
    1)點(diǎn)擊【臨時(shí)查詢】里的新建節(jié)點(diǎn)寝并,選擇ODPS SQL



    2)在test腳本文件中,執(zhí)行如下命令缭黔,查看建表結(jié)果:

show tables;

用戶可以在執(zhí)行結(jié)果中食茎,查看到7張數(shù)據(jù)表:customers;dilivery馏谨;dim_product别渔;dispatch;orders惧互;st_buzi_all哎媚;stock。


創(chuàng)建數(shù)據(jù)同步的任務(wù)

七張表數(shù)據(jù)產(chǎn)生的粒度和方式:



本小節(jié)主要內(nèi)容:根據(jù)上表中提供的信息喊儡,創(chuàng)建數(shù)據(jù)同步任務(wù)拨与。
1、在數(shù)據(jù)開發(fā)頁面艾猜,選擇業(yè)務(wù)流程买喧,新建業(yè)務(wù)流程捻悯。


  1. 在彈出窗口中,填寫配置信息:名稱 為 sync_dim_product淤毛,完成后點(diǎn)擊 新建 今缚。


  2. 通過如下步驟,完成數(shù)據(jù)同步任務(wù)的配置:
    1)在數(shù)據(jù)集成低淡,新建數(shù)據(jù)集成節(jié)點(diǎn)姓言,選擇數(shù)據(jù)同步,指定之前配置的RDS的數(shù)據(jù)源 rds_ebuzi_yq(mysql)蔗蹋,選中表 dim_product 何荚,可以通過點(diǎn)擊 數(shù)據(jù)預(yù)覽 ,查看樣例數(shù)據(jù)猪杭。





    2)在數(shù)據(jù)去向頁面餐塘,目標(biāo)數(shù)據(jù)源指定為 odps_first ,表指定為 dim_product 皂吮,清理規(guī)則 必須 指定為 寫入前清理已有數(shù)據(jù)insert overwrite 唠倦。



    3)在字段映射頁面,配置字段映射關(guān)系涮较。本例中由于源表和目標(biāo)表的字段名稱和順序都一致稠鼻,所以自動(dòng)匹配的結(jié)果即為最終結(jié)果。直接點(diǎn)擊 下一步 狂票。

    4)在通道控制頁面候齿,主要是配置作業(yè)速率上限和出錯(cuò)記錄上限。本例中保持缺省值即可闺属。

    5)在保存預(yù)覽頁面慌盯,檢查一下配置內(nèi)容有無錯(cuò)誤,有則改之掂器,無則繼續(xù)亚皂。點(diǎn)擊 保存。

    6)設(shè)置調(diào)度配置国瓮,點(diǎn)擊右側(cè)欄的 調(diào)度配置 灭必,調(diào)度周期 設(shè)置為 天 ,具體時(shí)間 為 凌晨4點(diǎn) 乃摹。





    7)完成如上設(shè)置后禁漓,依次點(diǎn)擊 保存 -> 提交 茶凳。完成提交后闷畸,點(diǎn)擊右上角的 運(yùn)維 ,運(yùn)行該任務(wù)蚓炬。
  3. 通過如下步驟掰读,運(yùn)行數(shù)據(jù)同步任務(wù)秘狞,并查看運(yùn)行結(jié)果叭莫。
    1)在任務(wù)視圖頁面,找到要運(yùn)行的任務(wù)sync_dim_product烁试,點(diǎn)擊右側(cè)的 測試食寡,去觸發(fā)任務(wù)的測試運(yùn)行。



    2)在彈出的提示對話框中廓潜,直接點(diǎn)擊 確認(rèn) 。



    3)運(yùn)行幾秒種后善榛,刷新頁面辩蛋,將會(huì)看到任務(wù)已經(jīng)執(zhí)行成功。
  4. 通過如下步驟移盆,檢查數(shù)據(jù)同步結(jié)果悼院。
    1)返回?cái)?shù)據(jù)開發(fā)頁面。



    2)雙擊并打開腳本文件 test咒循。



    3)在右側(cè)的腳本編輯頁面据途,刪除現(xiàn)有內(nèi)容并輸入如下命令,查看表 dim_product 的同步結(jié)果叙甸。
select * from dim_product

點(diǎn)擊運(yùn)行 颖医。等待一段時(shí)間,可以在下方的 結(jié)果 中查看到表dim_product 同步結(jié)果裆蒸。


  1. 通過如下步驟熔萧,同步數(shù)據(jù)orders表。
    1)點(diǎn)擊左上角的數(shù)據(jù)開發(fā)僚祷。在菜單中佛致,選擇業(yè)務(wù)流程,新建業(yè)務(wù)流程 辙谜。

    2)在彈出窗口中俺榆,填寫配置信息:名稱為 Sync_orders,完成后點(diǎn)擊 創(chuàng)建 装哆。
    3)由于增量加載時(shí)orders表為分區(qū)表罐脊,在數(shù)據(jù)同步任務(wù)的來源界面中,需要設(shè)置如下配置信息和過濾條件:
    數(shù)據(jù)源:rds_ebuzi_yq(mysql)
    表:orders
    過濾條件:date_format(order_time,'%Y%m%d')= '{bdp.system.bizdate}' 完成后蜕琴,點(diǎn)擊 下一步 爹殊。 ![](https://upload-images.jianshu.io/upload_images/6548563-83ff3bb6f784229f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![](https://upload-images.jianshu.io/upload_images/6548563-b0f0071a58d1412f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 4)在選擇目標(biāo)頁面中,配置如下信息: 數(shù)據(jù)源:odps_first(odps) 表:orders 分區(qū)鍵取值:ds= '{bdp.system.bizdate}'
    清理規(guī)則:使用 寫入前保留已有數(shù)據(jù) insert into
    完成后奸绷,點(diǎn)擊 下一步 梗夸。

    5)字段映射、通道控制頁面号醉,均使用默認(rèn)配置反症,并點(diǎn)擊 下一步 辛块。在預(yù)覽保存頁面,點(diǎn)擊 保存铅碍。

    6)在調(diào)度配置欄中润绵,修改 調(diào)度周期 為 天 ,具體時(shí)間為 04 時(shí) 05 分胞谈。

    7)完成如上配置后尘盼,依次點(diǎn)擊頂部的 保存,提交 和 前往運(yùn)維 烦绳。

    8)在彈出的運(yùn)維中心頁面卿捎,參考 步驟4 ,運(yùn)行同步任務(wù)sync_orders径密。等待一段時(shí)間午阵,頁面顯示運(yùn)行成功。

    9)參考 步驟5 享扔,在test腳本文件中底桂,運(yùn)行如下命令,查看同步的表orders的運(yùn)行結(jié)果惧眠。
set odps.sql.allow.fullscan=true;
Select * from orders;
  1. 參考 步驟6 籽懦,新建數(shù)據(jù)同步任務(wù)Sync_customers和Sync_stock,并進(jìn)行測試氛魁。
    1)配置 數(shù)據(jù)同步 任務(wù) Sync_customers 猫十,詳細(xì)信息參考如下:
    源表:RDS中的customers
    過濾條件:date_format(gen_date,'%Y%m%d')= '${bdp.system.bizdate}'
    目標(biāo)表:odps_first中的customers
    清理規(guī)則:使用 寫入前保留已有數(shù)據(jù) insert into
    調(diào)度周期:設(shè)置為天,具體時(shí)間為 04時(shí)10分




    2)完成如上配置并 保存 和 提交 后呆盖,點(diǎn)擊 前往運(yùn)維 執(zhí)行同步任務(wù)拖云,運(yùn)行成功后如下圖所示。



    3)在test腳本文件中应又,執(zhí)行如下命令宙项,并查看同步后的customers表中數(shù)據(jù)。
Select * from customers;

4)配置 數(shù)據(jù)同步 任務(wù) Sync_stock 株扛,詳細(xì)信息參考如下:
源表:RDS中的stock
過濾條件:date_format(last_update_time,'%Y%m%d')<='${bdp.system.bizdate}'
目標(biāo)表:odps_first中的stock
清理規(guī)則:寫入前清理已有數(shù)據(jù)Insert Overwrite
字段映射:點(diǎn)擊字段 last_update_time 左側(cè)的節(jié)點(diǎn)連接到右側(cè)字段 update_time 的節(jié)點(diǎn)尤筐。
調(diào)度周期為天,具體時(shí)間為 04時(shí)15分



5)完成如上配置并 保存 和 提交 后洞就,點(diǎn)擊 前往運(yùn)維 執(zhí)行同步任務(wù)盆繁。



6)在test腳本文件中,執(zhí)行如下命令旬蟋,并查看同步后的stock表中數(shù)據(jù)油昂。
Select * from stock;

7)至此,完成了4個(gè)節(jié)點(diǎn)任務(wù)的配置開發(fā)和測試。

  1. 通過如下步驟冕碟,新建工作流任務(wù) sync_log 拦惋。
    1)點(diǎn)擊 新建 ,選擇 新建任務(wù) 安寺,在新建任務(wù)窗口中厕妖,選擇 工作流任務(wù) ,名字為 sync_log挑庶。點(diǎn)擊 創(chuàng)建 言秸。



    2)在 sync_log 的任務(wù)開發(fā)的畫布上,拖入 虛節(jié)點(diǎn) 迎捺,名稱為 start 举畸。




    3)拖入兩個(gè) 數(shù)據(jù)同步 任務(wù),名稱分別為 sync_dilivery 和sync_dispatch 破加。


    4)然后,使用鼠標(biāo)左鍵雹嗦,分別用連線連接 start 與 sync_dilivery 范舀;start 與 sync_dispatch 。



    5)雙擊同步任務(wù) sync_dilivery 了罪,并進(jìn)入sync_dilivery任務(wù)的配置頁面锭环,配置數(shù)據(jù)同步任務(wù)。
    【說明】同步任務(wù)的配置詳細(xì)步驟泊藕,請參考步驟6中的2)到6)辅辩。
    源表:rds_ebuzi_yq中的dilivery
    過濾條件:date_format(update_time,'%Y%m%d')= '${bdp.system.bizdate}'

目標(biāo)表:odps_first中的dilivery
分區(qū)鍵取值:ds= '{bdp.system.bizdate}' 清理規(guī)則:寫入前保留已有數(shù)據(jù)Insert into 完成后,點(diǎn)擊 保存 娃圆。 ![](https://upload-images.jianshu.io/upload_images/6548563-f5468ff13affa10e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 6)在雙擊同步任務(wù) sync_dispatch 玫锋,并配置如下信息。 源表:rds_ebuzi_yq中的 dispatch 過濾條件:date_format(dispatch_time,'%Y%m%d')='{bdp.system.bizdate}'

目標(biāo)表:odps_first中的 dispatch
分區(qū)鍵取值:ds= '${bdp.system.bizdate}'
清理規(guī)則:寫入前保留已有數(shù)據(jù)Insert into
完成后讼呢,點(diǎn)擊 保存 撩鹿。



7)點(diǎn)擊頁面左上角的 返回 ,返回上一級 sync_log的 流程面板悦屏, 配置sync_log流程任務(wù)的的調(diào)度信息节沦,具體時(shí)間為:04點(diǎn)20分 。




8)保存础爬、提交后前往運(yùn)維甫贯,測試任務(wù)。等待一段時(shí)間后看蚜,工作流任務(wù) sync_log 完成叫搁。

9)至此,完成4個(gè)節(jié)點(diǎn)同步任務(wù)和1個(gè)任務(wù)流同步任務(wù)的所有操作。

創(chuàng)建數(shù)據(jù)匯總加工的任務(wù)

本小節(jié)主要內(nèi)容:創(chuàng)建數(shù)據(jù)匯總的節(jié)點(diǎn)任務(wù)常熙,將所有的數(shù)據(jù)匯總到一個(gè)表中纬乍,并通過補(bǔ)數(shù)據(jù)的方式,導(dǎo)入增量表的歷史數(shù)據(jù)裸卫。

  1. 通過如下步驟仿贬,新建一個(gè)節(jié)點(diǎn)任務(wù) gen_st_buzi_all 。
    1)點(diǎn)擊 【數(shù)據(jù)開發(fā)】 墓贿,選擇 【業(yè)務(wù)流程】茧泪,【新建業(yè)務(wù)流程】 ,類型為【 ODPS_SQL 】聋袋,名稱為 gen_st_buzi_all 队伟。完成后,點(diǎn)擊 創(chuàng)建 幽勒。




    2)編寫具體的SQL嗜侮,產(chǎn)生st_buzi_all中的數(shù)據(jù)。在右側(cè)文本頁面啥容,輸入 gen_st_buzi_all.sql (請從左側(cè)的 附件下載 中獲刃饪拧)中的全部代碼,



    3)點(diǎn)擊調(diào)度配置咪惠,配置具體時(shí)間為 04時(shí)20分 击吱。添加依賴任務(wù):點(diǎn)擊 上游任務(wù) 右側(cè)的 搜索對話框,依次選擇之前創(chuàng)建的五個(gè)任務(wù):sync_stock遥昧;sycn_orders覆醇;sync_log;sync_dim_product炭臭;sync_customers

    4)因?yàn)槟_本中用到了一個(gè)自定義時(shí)間變量yyyy_mm_dd永脓,需要在參數(shù)配置中指定該變量的取值。點(diǎn)擊 參數(shù)配置 鞋仍,給變量 yyyy_mm_dd 賦值為 ${yyyy-mm-dd} 憨奸。

    5)依次點(diǎn)擊 保存、提交 和 前往運(yùn)維凿试, 在運(yùn)行頁面排宰,右側(cè)點(diǎn)擊 測試 ,運(yùn)行成功后如下圖所示那婉。



    6)在test腳本中板甘,運(yùn)行如下命令,查看匯總表 st_buzi_all 中的數(shù)據(jù)详炬。
set odps.sql.allow.fullscan=true;
select * from st_buzi_all;

7)至此盐类,所有的數(shù)據(jù)同步寞奸、匯總?cè)蝿?wù)均已配置完成。正常情況下在跳,每日4點(diǎn)到4點(diǎn)20分之間會(huì)調(diào)度一次我們配置好的數(shù)據(jù)同步和數(shù)據(jù)加工的任務(wù)枪萄,成功運(yùn)行后,我們需要的數(shù)據(jù)就會(huì)正常產(chǎn)生猫妙。

  1. 通過如下步驟瓷翻,使用補(bǔ)數(shù)據(jù)的功能,處理歷史數(shù)據(jù)割坠。
    1)點(diǎn)擊 運(yùn)維中心
    2)在運(yùn)維中心的頁面齐帚,點(diǎn)擊最左側(cè)的 周期任務(wù)
    3)點(diǎn)擊任務(wù) sync_stock
    4)在右側(cè)任務(wù)視圖面板中,選中 project_etl_start 彼哼,點(diǎn)擊 右鍵 对妄,并選擇 補(bǔ)數(shù)據(jù) 。



    5)在彈出的補(bǔ)數(shù)據(jù)節(jié)點(diǎn)頁面中敢朱,點(diǎn)擊全選剪菱,指定業(yè)務(wù)日期(指定最近一周的時(shí)間范圍,并且截止時(shí)間是前一天的日期拴签;例如本次操作的時(shí)間是2017-08-1孝常,因此時(shí)間范圍選擇的是2017-07-24至2017-07-31),點(diǎn)擊 確認(rèn)篓吁。



    6)在補(bǔ)數(shù)據(jù)頁面將會(huì)看到這正在執(zhí)行的補(bǔ)數(shù)據(jù)任務(wù)茫因。
    【注】由于需要補(bǔ)最近一周的數(shù)據(jù)蚪拦,并調(diào)用所有的任務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)處理杖剪,時(shí)間一般需要10分鐘左右,所以無需等待驰贷,可以先操作后續(xù)的步驟盛嘿。

第4章:報(bào)表開發(fā)

配置報(bào)表開發(fā)的環(huán)境

1. 保留 **運(yùn)維中心 **的頁面窗口,以便于后續(xù)查看補(bǔ)數(shù)據(jù)任務(wù)的執(zhí)行狀態(tài)括袒。在瀏覽器新的窗口中訪問如下地址次兆,進(jìn)入QuickBI的管理控制臺(tái)。如果QuickBI服務(wù)尚未購買锹锰,需要先點(diǎn)擊 標(biāo)準(zhǔn)版******30天試用申請芥炭,然后再點(diǎn)擊 進(jìn)入******QuickBI標(biāo)準(zhǔn)版 進(jìn)入QuickBI的管理控制臺(tái):

https://das.base.shuju.aliyun.com/console.htm?spm=5176.2020520001.1001.180.25uPK8

【注意】用戶也可以返回阿里云管理控制臺(tái)頁面,點(diǎn)擊頂部 產(chǎn)品與服務(wù)->大數(shù)據(jù)->Quick BI 恃慧,并在 QuickBI的管理控制臺(tái) 開通并購買QuickBI服務(wù)频鉴。


  1. 增加數(shù)據(jù)源棒坏。依次點(diǎn)擊 工作空間 - 數(shù)據(jù)源 ,進(jìn)入數(shù)據(jù)管理頁面


  2. 點(diǎn)擊 新建 ,并選擇導(dǎo)入的數(shù)據(jù)源為 來自DataIDE 腋妙。
    【注】如果系統(tǒng)中有其他的數(shù)據(jù)源和數(shù)據(jù)集赵抢,請先刪除已存在的所有數(shù)據(jù)源和數(shù)據(jù)集,以免后續(xù)操作有沖突!


  3. 選中需要導(dǎo)入的數(shù)據(jù)源少态,點(diǎn)擊 導(dǎo)入 。


  4. 在數(shù)據(jù)源的列表中點(diǎn)擊剛導(dǎo)入的數(shù)據(jù)源易遣,在右側(cè)列表中選擇需要的表(st_buzi_all)彼妻,點(diǎn)擊 創(chuàng)建數(shù)據(jù)集 。



    6.創(chuàng)建的數(shù)據(jù)集將會(huì)在 我的數(shù)據(jù)集 的列表中顯示:


報(bào)表設(shè)計(jì)

整體運(yùn)營情況的報(bào)表训挡,基于數(shù)據(jù)表st_buzi_all設(shè)計(jì)和創(chuàng)建澳骤,希望的報(bào)表樣子如下:


  1. 依次點(diǎn)擊 儀表板 - 新建,創(chuàng)建數(shù)據(jù)展示的儀表板:


  2. 點(diǎn)擊右上角的 切換數(shù)據(jù)集 澜薄,選中 st_buzi_all 为肮。


  3. 將默認(rèn)圖表刪除。


  4. 單擊 查詢條件 肤京,添加一個(gè)查詢條件到畫布颊艳。


  5. 依次單擊數(shù)據(jù)圖表中的柱狀圖、柱狀圖忘分、儀表盤棋枕、線圖、四個(gè)指標(biāo)看板妒峦,并使用鼠標(biāo)調(diào)整圖形重斑,結(jié)果如下:


  6. 指定報(bào)表名稱 業(yè)務(wù)大盤監(jiān)控,然后肯骇,點(diǎn)擊 保存 窥浪。


  7. 點(diǎn)擊查詢條件,配置數(shù)據(jù)信息笛丙,包括源數(shù)據(jù)集選擇 st_buzi_all漾脂,字段選擇 buzi_date(day),同源關(guān)聯(lián)選擇兩個(gè)柱圖和一個(gè)線圖:


  8. 點(diǎn)擊 查詢條件 中具體內(nèi)容(查詢框)胚鸯,修改標(biāo)簽為 日期 骨稿,同時(shí)選定日期區(qū)間 、相對時(shí)間姜钳。


  9. 點(diǎn)擊柱圖A坦冠,配置數(shù)據(jù)信息:維度 為 buzi_date(day),指標(biāo) 為 order_cnt哥桥,顏色圖例指定 ds 字段辙浑,點(diǎn)擊 更新 。
    【說明】柱圖A 位置請參考 步驟5 中的圖片泰讽。


  10. 對柱圖A例衍,點(diǎn)擊 樣式 昔期,修改 標(biāo)題 為 七日訂單數(shù)趨勢 ,并勾掉 軸標(biāo)題 佛玄。


  11. 點(diǎn)擊 柱圖B 硼一,配置數(shù)據(jù)信息,維度 為 buzi_date(day)梦抢,指標(biāo) 為 total_amt般贼, 顏色圖例設(shè)置為 ds,點(diǎn)擊更新
    【說明】柱圖B 位置請參考 步驟5 中的圖片奥吩。


  12. 對柱圖B哼蛆,點(diǎn)擊格式,修改標(biāo)題為 七日成交金額趨勢 霞赫,并勾掉 軸標(biāo)題 腮介。


  13. 點(diǎn)擊儀表盤,將數(shù)據(jù)集中的度量 curr_cust_cnt 拖到 指標(biāo)角度/度量端衰,將數(shù)據(jù)集中的維度 buzi_date(day) 拖入到 過濾器 中叠洗,點(diǎn)擊紅圈標(biāo)示出來的過濾器配置的 漏斗圖標(biāo),進(jìn)行下一步的過濾器配置旅东。
    【說明】儀表盤 位置請參考 步驟5 中的圖片灭抑。


  14. 在設(shè)置過濾器頁面,配置過濾條件抵代。然后點(diǎn)擊 更新腾节。


  15. 設(shè)置儀表盤的樣式。標(biāo)題為客戶保有量荤牍,勾掉 顯示圖例案腺,點(diǎn)擊 添加 按鈕增加區(qū)間信息,區(qū)間起始值為 10 参淫,結(jié)束值為 1000 救湖,點(diǎn)擊更新


  16. 點(diǎn)擊線圖愧杯,配置數(shù)據(jù)信息涎才,維度為buzi_date(day),度量 為 new_cust_cnt
    【說明】線圖 位置請參考 步驟5 中的圖片力九。


  17. 配置樣式耍铜。在樣式面板中,標(biāo)題設(shè)為:七日新增用戶數(shù)趨勢跌前,勾掉 軸標(biāo)題 棕兼,勾選 面積、曲線


  18. 點(diǎn)擊看板1抵乓,配置數(shù)據(jù)信息伴挚。度量 選 stock_item_cnt 靶衍,將維度 buzi_date(day) 拖入過濾器。
    【說明】看板1 位置請參考 步驟5 中的圖片茎芋。


  19. 配置過濾器颅眶。選擇日期、相對時(shí)間田弥,相對時(shí)間設(shè)置 為 昨天 涛酗,點(diǎn)擊 確定 和 更新。


  20. 配置樣式偷厦。標(biāo)題設(shè)為:當(dāng)前庫存數(shù)商叹,選擇最后一個(gè)模板,每行顯示 1 個(gè)只泼,并選中隱藏維度剖笙。


  21. 對于看板2、看板3请唱、看板4均進(jìn)行類似的配置枯途,配置信息分別為:

【說明】看板2、看板3籍滴、看板4 位置請參考 步驟5 中的圖片酪夷。

看板2

度量:stock_amt
標(biāo)題:當(dāng)前庫存金額
過濾字段:buzi_date(day)
過濾條件:昨天
模板:最后一個(gè)模板,每行個(gè)數(shù)1個(gè)孽惰,勾選隱藏維度
看板3

度量:sent_prd_cnt
標(biāo)題:當(dāng)日派送件數(shù)
過濾字段:buzi_date(day)
過濾條件:昨天
模板:最后一個(gè)模板晚岭,每行個(gè)數(shù)1個(gè),勾選隱藏維度
看板4

度量:succ_sent_rate
標(biāo)題:當(dāng)日及時(shí)到達(dá)率
過濾字段:buzi_date(day)
過濾條件:昨天
模板:最后一個(gè)模板勋功,每行個(gè)數(shù)1個(gè)坦报,勾選隱藏維度

查看效果

  1. 配置完成后點(diǎn)擊保存,然后點(diǎn)擊預(yù)覽狂鞋,查看效果片择。



    查看結(jié)果如下:
    【注】如果顯示的數(shù)據(jù)少于七天,請返回DataIDE的運(yùn)維中心模塊中去查看所有的補(bǔ)數(shù)據(jù)任務(wù)是否成功完成骚揍。



    至此字管,我們完成了報(bào)表分析所有的實(shí)驗(yàn)操作!
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末信不,一起剝皮案震驚了整個(gè)濱河市嘲叔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抽活,老刑警劉巖硫戈,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異下硕,居然都是意外死亡丁逝,警方通過查閱死者的電腦和手機(jī)汁胆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霜幼,“玉大人沦泌,你說我怎么就攤上這事⌒谅樱” “怎么了谢谦?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長萝衩。 經(jīng)常有香客問我回挽,道長,這世上最難降的妖魔是什么猩谊? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任千劈,我火速辦了婚禮,結(jié)果婚禮上牌捷,老公的妹妹穿的比我還像新娘墙牌。我一直安慰自己,他們只是感情好暗甥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布喜滨。 她就那樣靜靜地躺著,像睡著了一般撤防。 火紅的嫁衣襯著肌膚如雪虽风。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天寄月,我揣著相機(jī)與錄音辜膝,去河邊找鬼。 笑死漾肮,一個(gè)胖子當(dāng)著我的面吹牛厂抖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播克懊,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼忱辅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了保檐?” 一聲冷哼從身側(cè)響起耕蝉,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤崔梗,失蹤者是張志新(化名)和其女友劉穎夜只,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蒜魄,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扔亥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年场躯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旅挤。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踢关,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出粘茄,到底是詐尸還是另有隱情签舞,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布柒瓣,位于F島的核電站儒搭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏芙贫。R本人自食惡果不足惜搂鲫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望磺平。 院中可真熱鬧魂仍,春花似錦、人聲如沸拣挪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽菠劝。三九已至仑氛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闸英,已是汗流浹背锯岖。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甫何,地道東北人出吹。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像辙喂,于是被迫代替她去往敵國和親捶牢。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容