BI系統(tǒng)質(zhì)量挑戰(zhàn)與建設

?原創(chuàng):陳思



BI系統(tǒng)質(zhì)量挑戰(zhàn)

BI(Business Intelligence)即商務智能,它是一套完整的解決方案,用來幫助企業(yè)更好地利用數(shù)據(jù)提高決策質(zhì)量的技術(shù)集合,是從大量的數(shù)據(jù)中鉆取信息與價值的過程。BI系統(tǒng)質(zhì)量至關(guān)重要,可以說沒有質(zhì)量保障的BI數(shù)據(jù)還不如沒有BI數(shù)據(jù)。而BI系統(tǒng)進行質(zhì)量保障存在著巨大的挑戰(zhàn),主要有以下幾點原因:

1.數(shù)據(jù)來源極其復雜,既有內(nèi)部各個產(chǎn)品線的數(shù)據(jù),又包含外部商業(yè)機構(gòu)數(shù)據(jù),主動采集數(shù)據(jù)等多種數(shù)據(jù),數(shù)據(jù)源頭質(zhì)量保障挑戰(zhàn)已經(jīng)比較大;

2.數(shù)據(jù)經(jīng)過多層計算,過程復雜,保證每一步都符合預期的成本較高;

3.數(shù)據(jù)口徑要求嚴格,稍有偏差可能會導致實際業(yè)務意義偏差巨大。

建設目標

鑒于之前出現(xiàn)的BI系統(tǒng)質(zhì)量問題,我們分析了BI質(zhì)量保證僅有開發(fā)同學自己進行時存在的漏洞,在平衡核心質(zhì)量和投入成本之后將以下三點作為核心建設目標,以進行系統(tǒng)化的建設:

1.形成質(zhì)量閉環(huán)體系,高效高質(zhì)量的可持續(xù)的迭代

2.實現(xiàn)P0級別報表全流程質(zhì)量把控,達到報表輸出0事故

3.形成數(shù)據(jù)質(zhì)量平臺,對數(shù)據(jù)全流程質(zhì)量進行跟蹤

接入前準備

為保證順利接入進行了必要的準備工作,其中執(zhí)行性的包括以下幾點:

1.對數(shù)據(jù)來源、數(shù)據(jù)邏輯以及抽象出的各種業(yè)務指標的口徑進行系統(tǒng)整理,并逐點與PM、RD同學進行同步確認,從而達到在知識層上理解是一直的目標。

2.核心技能SQL編寫能力的系統(tǒng)提升,需要具備基于口徑編寫完備SQL的能力。

3.準備后續(xù)進行自動化建設所需的語言與測試框架——Python、Avocado等。

體系建設

在已經(jīng)明確目標的情況下,根據(jù)需求的緊湊度,以及不妨礙正常發(fā)布的情況下,進行質(zhì)量體系的逐步建設.整體測試架構(gòu)如下,分為四層,分別是:

1.數(shù)據(jù)收集層

2.數(shù)據(jù)解析層

3.數(shù)據(jù)對比與Check

4.結(jié)果展示與警告


通過分層的方案建設實現(xiàn)了對BI系統(tǒng)深入測試,驗證過程分為以下幾個重要階段:

1.發(fā)布前驗證

在具備SQL編寫以及編程數(shù)據(jù)清洗能力后,優(yōu)先對報表口徑學習,具備輸出case形成對報表的測試能力.優(yōu)先針對高優(yōu)級別報表均具備質(zhì)量覆蓋,輸出case評審后進行數(shù)據(jù)驗證并維護SQL.數(shù)據(jù)驗證正確后,報表才能進行發(fā)布。

2.數(shù)據(jù)diff

建立報表環(huán)比diff監(jiān)控,準確找出報表發(fā)布時間點,歷史數(shù)據(jù)的diff項, 完成監(jiān)控報警建設。達到報表歷史數(shù)據(jù)diff及時通知,并給出diff明細。

3.自動化驗證

采用avocado測試框架,引入自動化case測試,保證發(fā)布數(shù)據(jù)的準確性,主要思路為:每個報表維護一組可用的驗證SQL。通過sql的結(jié)果,與平臺接口返回的數(shù)據(jù)做對比,驗證報表數(shù)據(jù)的準確性。


在有了整體設計思路之后,就是實戰(zhàn)的過程,基于采用的框架編寫API層,Lib層以及case層面的輸出,case調(diào)試并且運行成功后,就可以接入任務調(diào)度平臺。

case調(diào)試成功:


接入調(diào)度平臺運行:


執(zhí)行通過郵件:



失敗報警:


BI質(zhì)量建設應用擴展

完成BI質(zhì)量體系建設除了完成BI方向的目標外,作為具備線上各種維度和來源數(shù)據(jù)的BI系統(tǒng)可以支持多種質(zhì)量建設,其中我們進行了一系列的在線質(zhì)量全力數(shù)據(jù)的保障工作,具體過程如下:

1.將各個方向在線質(zhì)量業(yè)務目標轉(zhuǎn)化成數(shù)據(jù)指標

基于業(yè)務目標探討數(shù)據(jù)需求,明確滿足業(yè)務方向的數(shù)據(jù)輸出方案和形式。例如“線上要保證注冊成功的SLA>99%”,基于這個需要我們將BI數(shù)據(jù)中用戶注冊過程數(shù)據(jù)進行定時全量處理,將BI中過程數(shù)據(jù)抽取出來支持該指標的計算。

2.將業(yè)務指標轉(zhuǎn)化為可以執(zhí)行SQL

在能夠滿足需求的條件下,由各業(yè)務方向整理SQL語句且評審以保證數(shù)據(jù)輸出滿足要求。

3.在BI平臺執(zhí)行系統(tǒng)定時執(zhí)行核心質(zhì)量SQL以獲得全量在線質(zhì)量數(shù)據(jù)

基于python+Django,封裝數(shù)據(jù)接口,將各方向關(guān)注數(shù)據(jù)進行采集采集后,使用Pandas將結(jié)果進行表格化,通過郵件的方式發(fā)送給對應負責人。


寫在最后,感謝尊敬的大腿(張少華)與帥氣的男神(徐浩)的指導,希望此文章可以給大家?guī)硇┰S感悟。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,922評論 0 13
  • 電商卷皮BI的實踐演進和架構(gòu)體系—貓友會大講壇第4期https://mp.weixin.qq.com/s/wbnx...
    葡萄喃喃囈語閱讀 1,269評論 0 19
  • 世間萬物千姿百態(tài)?!凹乓古c靜雨”也可算入其中。什么樣的夜晚是最寂靜的?住在街道旁的人會說,沒有汽車笛鳴聲的夜是最...
    資深玩家YOU閱讀 4,291評論 88 217
  • 黨的十八大以來,習近平總書記站在全面建成小康社會、實現(xiàn)中華民族偉大復興中國夢的戰(zhàn)略高度,把脫貧攻堅擺到治國理政突出...
    詹小倩閱讀 154評論 0 1
  • 今年的國慶,帶著孩提時的記憶,去游覽桂林的山水。 記得小學語文有一篇課文,叫《桂林山水》,現(xiàn)在已經(jīng)找不到兒時的課本...
    水翼閱讀 1,205評論 1 7

友情鏈接更多精彩內(nèi)容