<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    數(shù)據(jù)治理實踐 | 數(shù)據(jù)表合規(guī)治理

    共 8712字,需瀏覽 18分鐘

     ·

    2023-07-06 16:41

    我猜各位數(shù)倉同學可能會經(jīng)常收到下游抱怨,例如:數(shù)據(jù)表難用、想要的指標都不知道存放在哪個數(shù)據(jù)表、數(shù)據(jù)表命名缺少規(guī)范不易讀等,由于設(shè)計數(shù)據(jù)表是一個“經(jīng)驗活”(包括業(yè)務(wù)了解、設(shè)計中的經(jīng)驗沉淀等),因此對于數(shù)倉同學來說有時候想做好一個完美的數(shù)據(jù)表其實頗有挑戰(zhàn),也從另外角度證實線上數(shù)據(jù)表大多數(shù)來說都不夠合規(guī),需要持續(xù)治理。

    本期語興從數(shù)據(jù)表治理角度出發(fā),探討數(shù)據(jù)表合規(guī)治理的最佳實踐及相關(guān)挑戰(zhàn)。


    0 1 數(shù)據(jù)表合規(guī)治理的背景

    隨著業(yè)務(wù)的快速迭代,同時數(shù)倉也在擴張期高速支持,產(chǎn)生的數(shù)據(jù)量越來越大,劃分的數(shù)據(jù)域也愈來越多,但很多數(shù)倉在初步搭建時都沒有確定好數(shù)據(jù)標準、模型設(shè)計規(guī)范、沒有一套完整數(shù)據(jù)的生命周期管理體系、同時組內(nèi)成員技術(shù)/業(yè)務(wù)水平質(zhì)量參差不齊導(dǎo)致,從而導(dǎo)致煙囪數(shù)據(jù)表大量產(chǎn)生,無規(guī)范/無元數(shù)據(jù)維護的數(shù)據(jù)表讓人無法看懂,數(shù)據(jù)表很難發(fā)揮出數(shù)據(jù)的價值(這里特指復(fù)用性),為了快速支持業(yè)務(wù)導(dǎo)致分層混亂(這里不代表非要做完數(shù)據(jù)表再去支持業(yè)務(wù)、而是在支持業(yè)務(wù)后能否沉淀資產(chǎn))。

    從語興自身去說,當前所在的業(yè)務(wù)線數(shù)據(jù)表也混亂,有時候想查一個指標甚至發(fā)現(xiàn)線上有5個以上數(shù)據(jù)表出現(xiàn)重復(fù)加工(存在之前指標中心未建設(shè)導(dǎo)致情況),歷史字段名/表命名起的也很隨意沒有規(guī)范,線上數(shù)據(jù)鏈路較長錯綜復(fù)雜依賴導(dǎo)致產(chǎn)出數(shù)據(jù)也晚,同時有23%的ODS穿透率(ODS穿透率:代表ODS跨層引用率,常見為ODS層到ADS層引用,口徑為:被跨層依賴的ODS表數(shù)量/ODS層表數(shù)量)。


    0 2 數(shù)據(jù)表合規(guī)治理前的思考

    由于數(shù)據(jù)表之間相互依賴過多、鏈路過長且繁雜,因此直接上手可能會造成線上事故,需要與團隊多次頭腦風暴后對當前治理優(yōu)先級進行排期,語興這邊為大家提供一個思路,可以先從簡單的數(shù)據(jù)標準重制定->無用/臨時數(shù)據(jù)表下線->應(yīng)用指標公共下沉復(fù)用->解決ODS穿透問題->煙囪數(shù)據(jù)表重構(gòu)及下線->元數(shù)據(jù)非合規(guī)數(shù)據(jù)表(包括元數(shù)據(jù)字段信息)修改。

    同時在初期我們需要完成各類元數(shù)據(jù)接入,搭建治理看板,開發(fā)團隊治理產(chǎn)出統(tǒng)計數(shù)據(jù)表,保障治理進度以及人力資源協(xié)調(diào)。

    這里我們可以借助網(wǎng)易的easy data和數(shù)據(jù)治理360平臺完成模型質(zhì)量的評估幫助大家更快找到治理方向。

    1e552ccce1e4950ae39ecc6f3565ab1a.webp

    (網(wǎng)易easy data-模型設(shè)計中心Demo圖)

    7363df7abe76deb25db599b0aa76b176.webp

    (網(wǎng)易easy data-數(shù)據(jù)治理360 Demo圖)

    0 3 數(shù)據(jù)表合規(guī)治理的過程

    1.數(shù)據(jù)標準重制定

    對當前數(shù)據(jù)域/主題域按照業(yè)務(wù)流程及應(yīng)用重新劃分,重新制定元數(shù)據(jù)規(guī)范(表名、字段命名、字段數(shù)據(jù)格式等)用于新數(shù)據(jù)表建設(shè)中規(guī)范內(nèi)容。

    (1)數(shù)據(jù)域與主題域區(qū)別及如何劃分

    主題域:從業(yè)務(wù)視角自上而下分析,從整體業(yè)務(wù)環(huán)節(jié)中升華出來大的專項分析模塊,結(jié)合對接的業(yè)務(wù)范圍和行業(yè)形態(tài)從更高的視角去洞察整個業(yè)務(wù)流程;

    數(shù)據(jù)域:從數(shù)據(jù)視角自下而上搭建,對每個業(yè)務(wù)環(huán)節(jié)進行切割劃分,形成不同環(huán)節(jié)的數(shù)據(jù)集,組裝為完整的業(yè)務(wù)流程;

    可能大家看到這還是有點懵,那在這里舉個例子:假如現(xiàn)在的業(yè)務(wù)是金融產(chǎn)品(例如貸款、賒購等),按照金融產(chǎn)品業(yè)務(wù)生命周期拆解,可以分為貸前(準入、授信等)、貸中(支用、還款等)、貸后(催回等),那這里貸前中的環(huán)節(jié)內(nèi)容就是數(shù)據(jù)域,假如我們想從更高角度(風控、營銷活動分析)去看整個業(yè)務(wù)流程并從中得到一些專題分析內(nèi)容,那這里升華的部分就叫主題域。

    (2)元數(shù)據(jù)規(guī)范(具體內(nèi)容在附錄)

    除了已知的詞根/命名等內(nèi)容,還需要保證元數(shù)據(jù)的清洗包括數(shù)據(jù)表使用說明、存儲標準、數(shù)據(jù)表負責人注明、字段類型統(tǒng)一等。

    2.無用/臨時數(shù)據(jù)表下線

    根據(jù)數(shù)據(jù)血緣及任務(wù)依賴(這里建議在數(shù)倉側(cè)開發(fā)血緣數(shù)據(jù)表,可不到字段血緣,如有條件可將范圍擴大到可視化側(cè))對線上長期無用表、下游無血緣且空跑數(shù)據(jù)表、臨時表進行掃描及下線,降低無用存儲及計算損耗。

    元數(shù)據(jù)信息采集:可使用云端數(shù)據(jù)平臺自帶功能如下圖,如使用開源組件同學可使用三方工具Apache Ambari、Apache Atlas、等對Hive元數(shù)據(jù)信息收集,并后續(xù)存儲在數(shù)據(jù)表中存放,并可以根據(jù)數(shù)據(jù)表進行重要等級打標,給予表檢索及使用熱度,這里建議使用DataHub開源數(shù)據(jù)中心,DataHub提供了可擴展的元數(shù)據(jù)管理平臺,可以滿足數(shù)據(jù)發(fā)現(xiàn),數(shù)據(jù)可觀察與治理。這也極大的解決了數(shù)據(jù)復(fù)雜性的問題,地址:datahubproject.io。

    bed3a6d373947ecd92b28ba3c76fe5fd.webp

    (網(wǎng)易easy data-數(shù)據(jù)治理360 推薦表下線治理Demo圖)

    3. 應(yīng)用指標公共下沉復(fù)用

    由于在數(shù)倉擴張期切沒有指標中心前提下大量開發(fā)應(yīng)用側(cè)數(shù)據(jù)表導(dǎo)致指標復(fù)用性較差問題,首先我們查看應(yīng)用層指標是否口徑一致,如不一致需要與下游再次溝通后修改,其次我們對應(yīng)用層模型指標按照數(shù)據(jù)域、周期(1D(1天)、30D(最近30天)、60D(最近60天)、90D(最近90天)、MTD(月初至今)、TD(歷史至今))拆解并將不同顆粒度下的指標放入對應(yīng)數(shù)據(jù)表驗證后復(fù)用,并切換線上數(shù)據(jù)表直接引用指標。

    4. 解決ODS穿透問題

    依靠我們在下線無用/臨時數(shù)據(jù)表時的數(shù)據(jù)血緣找到跨層引用數(shù)據(jù)表,并對這些數(shù)據(jù)表按照模型5要素(數(shù)據(jù)域、顆粒度、度量、維度、事實表類型)構(gòu)建CDM(DWD與DWS)層,并驗證ADS/DWS標簽/指標引用新DWD數(shù)據(jù)表的質(zhì)量情況,最后完成DWD/DWS數(shù)據(jù)表上線,及DWS/ADS的引用數(shù)據(jù)表切換。

    2b7210611879d77fad0ca3aed6750b92.webp

    (網(wǎng)易easy data-數(shù)據(jù)資產(chǎn)地圖數(shù)據(jù)血緣Demo圖)

    5.煙囪數(shù)據(jù)表重構(gòu)/下線

    對于線上歷史多次重復(fù)開發(fā)煙囪數(shù)據(jù)表進行重構(gòu)/下線,可復(fù)用公共指標以及整合其他相似場景下數(shù)據(jù)表字段內(nèi)容到一個或多個數(shù)據(jù)表中,提升數(shù)據(jù)表易用性,使數(shù)據(jù)表清晰明了,由于對煙囪數(shù)據(jù)表重構(gòu)/下線,從而也避免由內(nèi)容不足而導(dǎo)致的相互依賴和任務(wù)鏈路延長問題發(fā)生。

    6. 元數(shù)據(jù)非合規(guī)數(shù)據(jù)表重構(gòu)/修改

    對原來非合規(guī)數(shù)據(jù)表元數(shù)據(jù)進行內(nèi)容按照新定的標準重構(gòu),切記在建設(shè)同時需要修改下游表名依賴及代碼中字段引用信息,避免線上故障發(fā)生,可以先重構(gòu)ODS、DWD、DWS數(shù)據(jù)表的元數(shù)據(jù)信息,保障數(shù)據(jù)準確性后上線,后續(xù)可按照主題域分工,讓組內(nèi)每位同學加入進來切換ADS數(shù)據(jù)表,但在切換前需要與下游知會溝通,并拉會對切換工作計劃排期,溝通后并與下游一起調(diào)整。

    7. 數(shù)據(jù)表合規(guī)后續(xù)維護

    可以從數(shù)據(jù)表價值(被引用次數(shù)、查詢次數(shù)、被收藏次數(shù)等)、數(shù)據(jù)表元數(shù)據(jù)規(guī)范(按照新數(shù)據(jù)標準去檢測打分)設(shè)定數(shù)據(jù)表合規(guī)評判分,并設(shè)立紅黑榜,以及對應(yīng)獎懲措施,后續(xù)可通過Python等開發(fā)不合規(guī)數(shù)據(jù)表信息提示(可日推、周推提醒),可通過郵件或者群信息方式,指定負責人定時治理不規(guī)范的數(shù)據(jù)表,維護好數(shù)據(jù)表的質(zhì)量,同時還需要建設(shè)數(shù)據(jù)表設(shè)計中心,強制數(shù)據(jù)表上線前審核,以及按照強管控方式強行限定數(shù)據(jù)表名、詞根內(nèi)容、字段名等達到易讀有保障效果。

    9d0e06e2f295a823da04ba88690ce159.webp

    (網(wǎng)易easy-data模型設(shè)計中心主題域建設(shè)Demo圖)

    9a601fd744d6f1ab07109090f1240dee.webp

    (網(wǎng)易easy-data模型設(shè)計中心數(shù)據(jù)表內(nèi)容建設(shè)Demo圖)

    0 4 數(shù)據(jù)表合規(guī)治理的結(jié)果

    (1)下線各層無用/臨時數(shù)據(jù)表總計80+,釋放存儲資源3.7T;

    (2)完成30+個應(yīng)用層煙囪數(shù)據(jù)表整合,及370+公共指標下沉;

    (3)ODS穿透率由原來23%下降至4%;

    (4)推出治理紅黑榜的,維持整體的資產(chǎn)健康分在80分以上;

    (5)數(shù)據(jù)產(chǎn)出平均時間由原來每日最晚8:30產(chǎn)出降低至7:10(任務(wù)鏈路縮短);

    (6)與團隊配合完成網(wǎng)易某業(yè)務(wù)線數(shù)倉數(shù)據(jù)表命名、字段命名、字段類型、數(shù)據(jù)表標注規(guī)范、數(shù)據(jù)表分區(qū)生命周期等6個方向規(guī)范制定;

    0 5 數(shù)據(jù)表合規(guī)治理中遇到的難點

    由于在治理中后期涉及煙囪數(shù)據(jù)表重構(gòu)問題,與下游多次對接無果(包含數(shù)據(jù)表遷移時需要下游配合報表改動,但只會徒增下游工作量),導(dǎo)致治理難推動,并且在想出合理方案時,也會因為下游各類情況導(dǎo)致治理進展不斷Delay,后續(xù)經(jīng)過多次磨合才實現(xiàn)數(shù)據(jù)表的更換,相互之間協(xié)調(diào)都較困難。

    0 6 數(shù)據(jù)表合規(guī)治理思考

    對于數(shù)據(jù)表合規(guī)治理是持續(xù)性的工作,數(shù)倉側(cè)無法保障每個數(shù)據(jù)表就一定是合規(guī)的、易用的,要把數(shù)據(jù)表治理常態(tài)化,強制規(guī)范化從而減少問題發(fā)生。

    對于本次遇到治理困難為部門之間協(xié)調(diào)配合問題,其實在事后自己也有一個復(fù)盤思考,我覺得治理工作配合要從3個點出發(fā):

    (1)讓下游配合其實最重要的是調(diào)動他們積極性,因為數(shù)據(jù)表治理對于下游來說可有可無 ,沒有你數(shù)據(jù)表治理線上任務(wù)依舊在跑著,數(shù)倉只是修改了數(shù)據(jù)表內(nèi)容,保障了易用性,可能對于下游來說毫無感知,所以可以從下游使用數(shù)據(jù)中的痛點去溝通,在優(yōu)先業(yè)務(wù)支持的同時給予時間設(shè)計數(shù)據(jù)表內(nèi)容,共同維護好數(shù)據(jù)標準。

    (2)除了這些還可以加一些獎懲措施活動,讓下游覺得配合是有價值的,例如通過紅黑榜定期也給他們發(fā)送郵件或者信息,并開展簡單的培訓(xùn),讓下游具備治理的意識,同時在他們自助治理后提供激勵。

    (3)如果治理在周邊部門起到了效果,可以做更大的推進作用,比如我們在和下游一起做治理并取到了效果,可以發(fā)治送理效果月報/周報 發(fā)送全部門,讓其他人也有感知,并定期分享自己治理心得與其他部門數(shù)據(jù)部溝通,提升數(shù)據(jù)部在公司的影響力。

    0 7 數(shù)據(jù)標準(附錄)

    1.數(shù)據(jù)表命名規(guī)范

    • ODS層(接入層):

      ods__{業(yè)務(wù)數(shù)據(jù)庫名}_{業(yè)務(wù)數(shù)據(jù)表名}(可以在結(jié)尾補充增量或全量情況,或者在元數(shù)據(jù)側(cè)補充)


    • DWD層(明細層):

      dwd_{一級數(shù)據(jù)域}_{二級數(shù)據(jù)域}_{三級數(shù)據(jù)域}_{業(yè)務(wù)過程(不清楚或沒有寫detail)}_存儲策略(df/di,df為全量數(shù)據(jù),di為增量數(shù)據(jù)))


    • DWS層(匯總層):

      dws_{一級數(shù)據(jù)域}_{二級數(shù)據(jù)域}_{三級數(shù)據(jù)域}_{顆粒度}(例如員工/部門)_{業(yè)務(wù)過程}_{周期粒度}(例如近30天寫30d、90天寫3m)


    • ADS層(應(yīng)用層):

      ads_{應(yīng)用主題/應(yīng)用場景}_{顆粒度}(例如買家/賣家)_{業(yè)務(wù)過程}_{調(diào)度周期}(例如1天調(diào)度一次寫1d)


    • DIM表(維度表):

      dim_{維度定義}_{更新周期(可不添加)}(例如日期寫date)


    • TMP表(臨時表):

      tmp_{表名}_{臨時表編號}


    • VIEW(視圖):

      {表名}_view


    • 備份表:

      {表名}_bak


    2.數(shù)據(jù)表命名詞根

    (1)存儲策略

    • df:日全量

    • di:日增量

    • hf:小時全量

    • hi:小時增量

    • mf:月全量

    • mi:月增量

    • wf:周全量

    • wi:周增量


    (2)顆粒度

    • buyer:買家

    • seller:賣家

    • user:用戶

    • emp:員工

    • order:訂單


    (3)統(tǒng)計周期

    • 1d:近一天指標統(tǒng)計

    • 1m:近一月指標統(tǒng)計

    • 1y:近一年指標統(tǒng)計

    • 3m:近三個月指標統(tǒng)計

    • 6m:近六個月指標統(tǒng)計

    • nd:近n天指標統(tǒng)計(無法確定具體天可用nd替代)

    • td:歷史累計


    (4)調(diào)度周期

    • 1d:天調(diào)度

    • 1m:月調(diào)度

    • 1y:小時調(diào)度


    3.字段命名規(guī)范

    • 是否某某類型用戶,字段命名規(guī)范:is_{內(nèi)容}

    • 枚舉值類型字段命名規(guī)范:xxx_type

    • 時間戳類型字段命名規(guī)范:xxx_date,xxx_time

    • 周期指標命名:{內(nèi)容}_{時間描述}(如最近一次lst1,最近兩次lst2,歷史his,最近第二次last2nd_date)

    • 百分比命名:{內(nèi)容}_rate

    • 數(shù)值類型(整型)命名:{內(nèi)容}_cnt_{周期}(周期看情況添加)

    • 數(shù)值類型(小數(shù))金額命名:{內(nèi)容}_amt_{周期}(周期看情況添加)


    4.字段類型規(guī)范

    • 文本:String

    • 日期:String

    • 整數(shù):Bigint

    • 小數(shù):高精度用Decimal、正常使用Double

    • 枚舉值:單枚舉-'Y'/'N'用String、多枚舉用String

    • 各類:IDString


    5.數(shù)據(jù)表中其他元數(shù)據(jù)規(guī)范

    • 數(shù)據(jù)表負責人(Owner);

    • 數(shù)據(jù)表中文名及使用說明;

    • 每個開發(fā)字段中文名(中文名需要包含該字段內(nèi)容,例如是否為某某類型用戶,需要寫出包含內(nèi)容(Y/N));

    • 數(shù)據(jù)表的顆粒度;

    • 數(shù)據(jù)表的主鍵或聯(lián)合主鍵;


    6.數(shù)據(jù)表中存儲周期規(guī)范

    • ODS層1年

    • DWD層3-5年

    • DWS層10年(部分可永久)

    • ADS層10年(部分可永久)

    • DIM層3-5年(部分可永久)


    數(shù)據(jù)表分區(qū)建議最多2級分區(qū),超過2級分區(qū)會造成數(shù)據(jù)長周期存儲問題,1級分區(qū)為業(yè)務(wù)日期,2級根據(jù)業(yè)務(wù)場景設(shè)置。

    瀏覽 59
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    欧美乱伦AA片 | 一月天激情综合网 | 亚洲日韩AV在线播放 | 大香蕉2017 | 婷婷丁香五月花 |