-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 景觀設(shè)計(jì) > 專題列表 > 正文
dwd層如何設(shè)計(jì)(dws層如何設(shè)計(jì))
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于dwd層如何設(shè)計(jì)的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來(lái)看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、數(shù)據(jù)質(zhì)量
淺談數(shù)據(jù)質(zhì)量管理:為了更清醒的數(shù)據(jù)
數(shù)據(jù)質(zhì)量管理的一些思考
大數(shù)據(jù)Clouder認(rèn)證:使用MaxCompute進(jìn)行數(shù)據(jù)質(zhì)量核查
度量的兩個(gè)方面:
1、設(shè)計(jì)質(zhì)量度量
數(shù)據(jù)資產(chǎn)目錄 數(shù)據(jù)標(biāo)準(zhǔn) 數(shù)據(jù)模型 數(shù)據(jù)分布
2、執(zhí)行質(zhì)量度量
完整性 準(zhǔn)確性 唯一性 一致性 及時(shí)性 有效性 (單列、跨列、跨行、跨表)
數(shù)據(jù)質(zhì)量設(shè)計(jì)原則
1、關(guān)鍵環(huán)節(jié)注入監(jiān)控流程 比如數(shù)據(jù)源接入、多維模型等
2、重要數(shù)據(jù):事務(wù)數(shù)據(jù)、主數(shù)據(jù)、基礎(chǔ)數(shù)據(jù)(數(shù)據(jù)字典)要進(jìn)入監(jiān)控流程;持續(xù)穩(wěn)定的數(shù)據(jù)可以退出監(jiān)控流程;價(jià)值密度低可以退出監(jiān)控流程;
數(shù)據(jù)質(zhì)量四部曲
策劃、控制、度量、改進(jìn)
打分機(jī)制:
指定表的質(zhì)量KPI,針對(duì)表的故障率進(jìn)行數(shù)據(jù)質(zhì)量運(yùn)營(yíng)。
最主要的數(shù)據(jù)質(zhì)量度量:
1、完整性:空值,數(shù)據(jù)量(是否漏傳)等;
2、一致性:各層前后結(jié)果是否一致;
3、是否重復(fù)性:數(shù)據(jù)在單層是否重復(fù)
工具:
Griffin 功能有Bug
Shell+Hive 建議(通過Web界面化)
各層校驗(yàn)規(guī)則:
ods層:
- 增量數(shù)據(jù)記錄數(shù)(短期)設(shè)置合理值
- 全量數(shù)據(jù)記錄數(shù)(長(zhǎng)期)設(shè)置合理值
- 空值:
-重復(fù)值:使用不為空的字段校驗(yàn)
dwd層:
- 一致性 將需要一致性檢測(cè)的字段,與ods層做關(guān)聯(lián)join
- 重復(fù)性 使用不為空的字段校驗(yàn)
- 空值不需要檢驗(yàn):因?yàn)橐呀?jīng)做了一致性校驗(yàn)了
dws/dwt層:
- 思路跟ods層一樣
ads層:
- 判定指標(biāo)是否在合理范圍內(nèi),需設(shè)置合理值,與之對(duì)比,如超預(yù)期,展現(xiàn)層不體現(xiàn)該指標(biāo),并觸發(fā)質(zhì)量問題排查追蹤(atlas追蹤血緣關(guān)系,觸發(fā)ETL流程)
數(shù)據(jù)質(zhì)量修復(fù):
1、數(shù)據(jù)丟失:按DT分區(qū),重新導(dǎo)入
2、數(shù)據(jù)重復(fù):分區(qū)表:按DT分區(qū),刪除分區(qū)所有數(shù)據(jù),重新導(dǎo)入;全量表:重導(dǎo)一次
3、指標(biāo)不符合正常規(guī)律:atlas追蹤血緣關(guān)系,觸發(fā)ETL流程
二、數(shù)倉(cāng)項(xiàng)目05:ADS數(shù)據(jù)應(yīng)用層
建庫(kù):
建表:
1.從ods_02_customer 表統(tǒng)計(jì)用戶信息
2.從dwd_nshop_actlog_pdtview 用戶瀏覽信息表查出用戶瀏覽時(shí)長(zhǎng)和瀏覽用戶
3.從dws_nshop_ulog_view 用戶瀏覽表查出訪問次數(shù)和訪問用戶
4.用總的停留時(shí)長(zhǎng)除以去重后的用戶數(shù)量就是平均訪問時(shí)長(zhǎng),用總訪問次數(shù)除以去重后的用戶數(shù)就是平均訪問次數(shù)。
統(tǒng)計(jì)sql如下:
數(shù)據(jù)是從DWS層的用戶瀏覽表里統(tǒng)計(jì),統(tǒng)計(jì)sql如下:
1.在ods_02_customer表統(tǒng)計(jì)用戶信息
2.dwd層的用戶產(chǎn)品查詢表dwd_nshop_actlog_pdtsearch統(tǒng)計(jì)查詢相關(guān)信息
3.dws層的用戶查詢聚合表dws_nshop_ulog_search統(tǒng)計(jì)查詢數(shù)量
4.對(duì)用戶進(jìn)行count聚合,對(duì)查詢數(shù)量進(jìn)行sum聚合,對(duì)產(chǎn)品id進(jìn)行sum聚合
統(tǒng)計(jì)sql如下:
在這里,總用戶數(shù)指全網(wǎng)的瀏覽過的總用戶數(shù),新增用戶數(shù)指當(dāng)天新注冊(cè)用戶數(shù),活躍用戶數(shù)指當(dāng)天瀏覽的用戶數(shù)
1.通過用戶信息表查詢出用戶信息
2.通過對(duì)用戶產(chǎn)品瀏覽表的userid聚合統(tǒng)計(jì)出活躍用戶
統(tǒng)計(jì)sql如下:
這里的總體運(yùn)營(yíng)指標(biāo)統(tǒng)計(jì),統(tǒng)計(jì)的有下單數(shù),訂單數(shù)、銷售總金額、有匯總金額、運(yùn)費(fèi)總金額等。
1.首先,頁(yè)面類型肯定是產(chǎn)品頁(yè)的,所以在頁(yè)面布局中間表中提前篩選出產(chǎn)品頁(yè)。
2.在dwd層的產(chǎn)品瀏覽表中可以關(guān)聯(lián)到用戶id、產(chǎn)品id,關(guān)聯(lián)查出用戶相關(guān)信息,和產(chǎn)品類別
3.在dwd層的訂單明細(xì)流水表中,分別對(duì)order_id,district_money(優(yōu)惠金額),shipping_money(運(yùn)費(fèi)),payment_money進(jìn)行sum聚合,再關(guān)聯(lián)用戶基本信息表和產(chǎn)品信息表查詢相關(guān)信息。
4.最后,將以上關(guān)聯(lián),查出總體指標(biāo),sql如下:
主要是查詢訂單詳情表的訂單狀態(tài)為6(投訴)的次數(shù),和撤銷的次數(shù),然后將訂單詳情表關(guān)聯(lián)用戶信息,產(chǎn)品信息查出相關(guān)信息,sql如下:
1.查詢dwd層的訂單明細(xì)表,可以查出訂單有關(guān)的訂單類型、支付網(wǎng)絡(luò)方式、訂單金額等數(shù)據(jù),并關(guān)聯(lián)用戶信息表。
2.查詢ods層的支付記錄表,可以查出支付相關(guān)的支付狀態(tài)等
3.關(guān)聯(lián)上面的臨時(shí)表,用支付次數(shù)除以下單次數(shù),得到轉(zhuǎn)換率。
sql如下:
查詢dwd層的訂單明細(xì)流水表的訂單狀態(tài)并累加次數(shù),再關(guān)聯(lián)用戶信息表查出用戶相關(guān)信息。
關(guān)聯(lián)出產(chǎn)品表,查出產(chǎn)品類別,sql如下:
總訪客數(shù):需要去重
總訪問次數(shù)不需要去重
統(tǒng)計(jì)sql如下:
三、如何深入淺出理解數(shù)據(jù)倉(cāng)庫(kù)建模?
作者 | 傅一平
來(lái)源 | 與數(shù)據(jù)同行
今天跟著我來(lái)學(xué)學(xué)數(shù)據(jù)倉(cāng)庫(kù)的基礎(chǔ)知識(shí),希望你結(jié)合案例可以把它吃透。
一、數(shù)據(jù)倉(cāng)庫(kù)建模的意義如果把數(shù)據(jù)看作圖書館里的書,我們希望看到它們?cè)跁苌戏珠T別類地放置;如果把數(shù)據(jù)看作城市的建筑,我們希望城市規(guī)劃布局合理;如果把數(shù)據(jù)看作電腦文件和文件夾,我們希望按照自己的習(xí)慣有很好的文件夾組織方式,而不是糟糕混亂的桌面,經(jīng)常為找一個(gè)文件而不知所措。
數(shù)據(jù)模型就是數(shù)據(jù)組織和存儲(chǔ)方法,它強(qiáng)調(diào)從業(yè)務(wù)、數(shù)據(jù)存取和使用角度合理存儲(chǔ)數(shù)據(jù)。Linux的創(chuàng)始人Torvalds有一段關(guān)于“什么才是優(yōu)秀程序員”的話:“爛程序員關(guān)心的是代碼,好程序員關(guān)心的是數(shù)據(jù)結(jié)構(gòu)和它們之間的關(guān)系”,最能夠說(shuō)明數(shù)據(jù)模型的重要性。
只有數(shù)據(jù)模型將數(shù)據(jù)有序的組織和存儲(chǔ)起來(lái)之后,大數(shù)據(jù)才能得到高性能、低成本、高效率、高質(zhì)量的使用。
性能:幫助我們快速查詢所需要的數(shù)據(jù),減少數(shù)據(jù)的I/O吞吐,提高使用數(shù)據(jù)的效率,如寬表。
成本:極大地減少不必要的數(shù)據(jù)冗余,也能實(shí)現(xiàn)計(jì)算結(jié)果復(fù)用,極大地降低存儲(chǔ)和計(jì)算成本。
效率:在業(yè)務(wù)或系統(tǒng)發(fā)生變化時(shí),可以保持穩(wěn)定或很容易擴(kuò)展,提高數(shù)據(jù)穩(wěn)定性和連續(xù)性。
質(zhì)量:良好的數(shù)據(jù)模型能改善數(shù)據(jù)統(tǒng)計(jì)口徑的不一致性,減少數(shù)據(jù)計(jì)算錯(cuò)誤的可能性。數(shù)據(jù)模型能夠促進(jìn)業(yè)務(wù)與技術(shù)進(jìn)行有效溝通,形成對(duì)主要業(yè)務(wù)定義和術(shù)語(yǔ)的統(tǒng)一認(rèn)識(shí),具有跨部門、中性的特征,可以表達(dá)和涵蓋所有的業(yè)務(wù)。
大數(shù)據(jù)系統(tǒng)需要數(shù)據(jù)模型方法來(lái)幫助更好地組織和存儲(chǔ)數(shù)據(jù),以便在性能、成本、效率和質(zhì)量之間取得最佳平衡!
下圖是個(gè)示例,通過統(tǒng)一數(shù)據(jù)模型,屏蔽數(shù)據(jù)源變化對(duì)業(yè)務(wù)的影響,保證業(yè)務(wù)的穩(wěn)定,表述了數(shù)據(jù)倉(cāng)庫(kù)模型的一種價(jià)值:
二、數(shù)據(jù)倉(cāng)庫(kù)分層的設(shè)計(jì)為了實(shí)現(xiàn)以上的目的,數(shù)據(jù)倉(cāng)庫(kù)一般要進(jìn)行分層的設(shè)計(jì),其能帶來(lái)五大好處:
清晰數(shù)據(jù)結(jié)構(gòu):每一個(gè)數(shù)據(jù)分層都有它的作用域,這樣我們?cè)谑褂帽淼臅r(shí)候能更方便地定位和理解。
數(shù)據(jù)血緣追蹤:能夠快速準(zhǔn)確地定位到問題,并清楚它的危害范圍。
減少重復(fù)開發(fā):規(guī)范數(shù)據(jù)分層,開發(fā)一些通用的中間層數(shù)據(jù),能夠減少極大的重復(fù)計(jì)算。
把復(fù)雜問題簡(jiǎn)單化:將復(fù)雜的任務(wù)分解成多個(gè)步驟來(lái)完成,每一層只處理單一的步驟,比較簡(jiǎn)單和容易理解。當(dāng)數(shù)據(jù)出現(xiàn)問題之后,不用修復(fù)所有的數(shù)據(jù),只需要從有問題的步驟開始修復(fù)。
屏蔽原始數(shù)據(jù)的異常:不必改一次業(yè)務(wù)就需要重新接入數(shù)據(jù)。
以下是我們的一種分層設(shè)計(jì)方法,數(shù)據(jù)緩沖區(qū)(ODS)的數(shù)據(jù)結(jié)構(gòu)與源系統(tǒng)完全一致?;A(chǔ)數(shù)據(jù)模型(DWD)和融合數(shù)據(jù)模型(DWI與DWA)是大數(shù)據(jù)平臺(tái)重點(diǎn)建設(shè)的數(shù)據(jù)模型。應(yīng)用層模型由各應(yīng)用按需自行建設(shè),其中基礎(chǔ)數(shù)據(jù)模型一般采用ER模型,融合數(shù)據(jù)模型采用維度建模思路。
三、兩種經(jīng)典的數(shù)據(jù)倉(cāng)庫(kù)建模方法前面的分層設(shè)計(jì)中你會(huì)發(fā)現(xiàn)有兩種設(shè)計(jì)方法,關(guān)系建模和維度建模,下面分別簡(jiǎn)單介紹其特點(diǎn)和適用場(chǎng)景。
1、維度建模
(1)定義
維度模型是數(shù)據(jù)倉(cāng)庫(kù)領(lǐng)域另一位大師Ralph Kimball 所倡導(dǎo)的。維度建模以分析決策的需求出發(fā)構(gòu)建模型,構(gòu)建的數(shù)據(jù)模型為分析需求服務(wù),因此它重點(diǎn)解決用戶如何更快速完成分析需求,同時(shí)還有較好的大規(guī)模復(fù)雜查詢的響應(yīng)性能,更直接面向業(yè)務(wù)。
典型的代表是我們比較熟知的星形模型:
維度退化
星型模型由一個(gè)事實(shí)表和一組維表組成。每個(gè)維表都有一個(gè)維作為主鍵,所有這些維的主鍵組合成事實(shí)表的主鍵。強(qiáng)調(diào)的是對(duì)維度進(jìn)行預(yù)處理,將多個(gè)維度集合到一個(gè)事實(shí)表,形成一個(gè)寬表。
這也是我們?cè)谑褂胔ive時(shí),經(jīng)常會(huì)看到一些大寬表的原因,大寬表一般都是事實(shí)表,包含了維度關(guān)聯(lián)的主鍵和一些度量信息,而維度表則是事實(shí)表里面維度的具體信息,使用時(shí)候一般通過join來(lái)組合數(shù)據(jù),相對(duì)來(lái)說(shuō)對(duì)OLAP的分析比較方便。
(2)建模方法
通常需要選擇某個(gè)業(yè)務(wù)過程,然后圍繞該過程建立模型,其一般采用自底向上的方法,從明確關(guān)鍵業(yè)務(wù)過程開始,再到明確粒度,再到明確維度,最后明確事實(shí),非常簡(jiǎn)單易懂。
以下是阿里的OneData的建模工作流,可以參考。
(3)優(yōu)缺點(diǎn)
優(yōu)點(diǎn):技術(shù)要求不高,快速上手,敏捷迭代,快速交付;更快速完成分析需求,較好的大規(guī)模復(fù)雜查詢的響應(yīng)性能
缺點(diǎn):維度表的冗余會(huì)較多,視野狹窄
2、關(guān)系建模
(1)定義
是數(shù)據(jù)倉(cāng)庫(kù)之父Inmon推崇的、從全企業(yè)的高度設(shè)計(jì)一個(gè)3NF模型的方法,用實(shí)體加關(guān)系描述的數(shù)據(jù)模型描述企業(yè)業(yè)務(wù)架構(gòu),在范式理論上符合3NF,站在企業(yè)角度面向主題的抽象,而不是針對(duì)某個(gè)具體業(yè)務(wù)流程的實(shí)體對(duì)象關(guān)系抽象。
它更多是面向數(shù)據(jù)的整合和一致性治理,正如Inmon所希望達(dá)到的“single version of the truth”。
當(dāng)有一個(gè)或多個(gè)維表沒有直接連接到事實(shí)表上,而是通過其他維表連接到事實(shí)表上時(shí),其圖解就像多個(gè)雪花連接在一起,故稱雪花模型。
雪花模型是對(duì)星型模型的擴(kuò)展。它對(duì)星型模型的維表進(jìn)一步層次化,原有的各維表可能被擴(kuò)展為小的事實(shí)表,形成一些局部的 "層次 " 區(qū)域,這些被分解的表都連接到主維度表而不是事實(shí)表。
雪花模型更加符合數(shù)據(jù)庫(kù)范式,減少數(shù)據(jù)冗余,但是在分析數(shù)據(jù)的時(shí)候,操作比較復(fù)雜,需要join的表比較多所以其性能并不一定比星型模型高。
(2)建模方法
關(guān)系建模常常需要全局考慮,要對(duì)上游業(yè)務(wù)系統(tǒng)的進(jìn)行信息調(diào)研,以做到對(duì)其業(yè)務(wù)和數(shù)據(jù)的基本了解,要做到主題劃分,讓模型有清晰合理的實(shí)體關(guān)系體系,以下是方法的示意:
以下是中國(guó)移動(dòng)的概念模型的一種示例,如果沒有自頂向下的視野,基本是總結(jié)不出來(lái)的:
(3)優(yōu)缺點(diǎn)
優(yōu)點(diǎn):規(guī)范性較好,冗余小,數(shù)據(jù)集成和數(shù)據(jù)一致性方面得到重視,比如運(yùn)營(yíng)商可以參考國(guó)際電信運(yùn)營(yíng)業(yè)務(wù)流程規(guī)范(ETOM),有所謂的最佳實(shí)踐。
缺點(diǎn):需要全面了解企業(yè)業(yè)務(wù)、數(shù)據(jù)和關(guān)系;實(shí)施周期非常長(zhǎng),成本昂貴;對(duì)建模人員的能力要求也非常高,容易爛尾。
3、建模方法比較
一般來(lái)講,維度模型簡(jiǎn)單直觀,適合業(yè)務(wù)模式快速變化的行業(yè),關(guān)系模型實(shí)現(xiàn)復(fù)雜,適合業(yè)務(wù)模式比較成熟的行業(yè),阿里原來(lái)用關(guān)系建模,現(xiàn)在基本都是維度建模的方式了。
運(yùn)營(yíng)商以前都是關(guān)系建模,現(xiàn)在其實(shí)邊界越來(lái)越模糊,很多大數(shù)據(jù)業(yè)務(wù)變化很快,采用維度建模也比較方便,不需要頂層設(shè)計(jì)。
四、企業(yè)建模的三點(diǎn)經(jīng)驗(yàn)維度建模就不說(shuō)了,只要能理解業(yè)務(wù)過程和其中涉及的相關(guān)數(shù)據(jù)、維度就可以,但自頂向下的關(guān)系建模難度很大,以下是關(guān)系建模的三個(gè)建設(shè)要點(diǎn)。
1、業(yè)務(wù)的理解:找到企業(yè)內(nèi)最理解業(yè)務(wù)和源系統(tǒng)的人,梳理出現(xiàn)狀,比如運(yùn)營(yíng)商就要深刻理解三域(O/B/M),概念建模的挑戰(zhàn)就很大,現(xiàn)在做到B域的概念建模已經(jīng)很不容易。
2、數(shù)據(jù)及關(guān)系的理解:各個(gè)域的系統(tǒng)建設(shè)的時(shí)候沒有統(tǒng)一文檔和規(guī)范,要梳理出邏輯模型不容易,比如運(yùn)營(yíng)商的事件主題下的邏輯模型就非常復(fù)雜。
3、標(biāo)準(zhǔn)化的推進(jìn):數(shù)據(jù)倉(cāng)庫(kù)建模的任何實(shí)體都需要標(biāo)準(zhǔn)化命名,否則未來(lái)的管理成本巨大,也是后續(xù)數(shù)據(jù)有效治理的基礎(chǔ),以下是我們的一個(gè)命名規(guī)范示例:
五、推薦三本書總而言之,你可以把我的文章當(dāng)成一個(gè)指引,具體還是要結(jié)合企業(yè)的實(shí)際去推進(jìn),但做事的時(shí)候要不忘建模的初心:即數(shù)據(jù)如何擺布才能提高支撐應(yīng)用的效率,手段上不用區(qū)分什么先進(jìn)不先進(jìn),好用就成。
四、移動(dòng)dim,ods,dwd,dw是什么意思
ODS是一個(gè)面向主題的、集成的、可變的、當(dāng)前的細(xì)節(jié)數(shù)據(jù)集合,用于支持企業(yè)對(duì)于即時(shí)性的、操作性的、集成的全體信息的需求。常常被作為數(shù)據(jù)倉(cāng)庫(kù)的過渡,也是數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目的可選項(xiàng)之一。
DW :data warehouse 翻譯成數(shù)據(jù)倉(cāng)庫(kù)
DW數(shù)據(jù)分層,由下到上為 DWD,DWB,DWS
DWD:data warehouse detail 細(xì)節(jié)數(shù)據(jù)層,有的也稱為 ODS層,是業(yè)務(wù)層與數(shù)據(jù)倉(cāng)庫(kù)的隔離層。
計(jì)算機(jī)用語(yǔ),Dim就是定義變量,與關(guān)鍵字Private(私有的)相當(dāng),另外還有一個(gè)Public(公有的)關(guān)鍵字.;定義變量 方法為:Dim 變量 As 變量類型。
望采納!
以上就是關(guān)于dwd層如何設(shè)計(jì)相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
cad培訓(xùn)班一般學(xué)費(fèi)多少(solidworks培訓(xùn)班一般學(xué)費(fèi)多少)
全景景觀設(shè)計(jì)施工圖dwg(景觀施工圖全套)
市場(chǎng)推廣必用的十大網(wǎng)站:脈脈、bdwork必得我客、全球品牌網(wǎng)等
景觀設(shè)計(jì)環(huán)境生態(tài)綠化(景觀設(shè)計(jì) 綠化)
南京鄉(xiāng)村生態(tài)景觀設(shè)計(jì)(南京鄉(xiāng)村生態(tài)景觀設(shè)計(jì)師招聘)