郭紹斌
摘要:數(shù)據(jù)已經(jīng)成為互聯(lián)網(wǎng)企業(yè)非常依賴(lài)的新型重要資產(chǎn)。數(shù)據(jù)質(zhì)量的好壞直接關(guān)系到信息的精準(zhǔn)度,也影響到企業(yè)的生存和競(jìng)爭(zhēng)力。如何保證數(shù)據(jù)的準(zhǔn)確性、完整性、合理性,成為衡量一個(gè)大數(shù)據(jù)平臺(tái)下的質(zhì)量監(jiān)控的重要指標(biāo)[1]。針對(duì)這一問(wèn)題提出了一種元數(shù)據(jù)驅(qū)動(dòng)的數(shù)據(jù)質(zhì)量監(jiān)控解決方案,使用大數(shù)據(jù)分布式計(jì)算技術(shù)MR、Spark;Metabase報(bào)表平臺(tái);Zabbix監(jiān)控報(bào)警平臺(tái)。保證數(shù)據(jù)的完整和準(zhǔn)確,并提供監(jiān)控和報(bào)警機(jī)制,解決下層數(shù)據(jù)出現(xiàn)錯(cuò)誤,上層數(shù)據(jù)應(yīng)用產(chǎn)生錯(cuò)誤的現(xiàn)象,減少企業(yè)損失。
關(guān)鍵詞:數(shù)據(jù)質(zhì)量;大數(shù)據(jù);元數(shù)據(jù);監(jiān)控
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2019)06-0003-03
進(jìn)入21世紀(jì)以來(lái),隨著物聯(lián)網(wǎng)、電子商務(wù)、社會(huì)化網(wǎng)絡(luò)的快速發(fā)展,數(shù)據(jù)體量迎來(lái)了爆炸式地増長(zhǎng),大數(shù)據(jù)正在成為世界上最重要的土壤和基礎(chǔ)。根據(jù)DC(互聯(lián)網(wǎng)數(shù)據(jù)中心)預(yù)測(cè),2020年的數(shù)據(jù)増長(zhǎng)量將是2010年的44倍,達(dá)到35ZB。世界經(jīng)濟(jì)論壇報(bào)告稱(chēng),“大數(shù)據(jù)為新財(cái)富,價(jià)值堪比石油”。隨著計(jì)算機(jī)及其存儲(chǔ)設(shè)備、互聯(lián)網(wǎng)、云計(jì)算等技術(shù)的發(fā)展,大數(shù)據(jù)應(yīng)用領(lǐng)域不斷豐富。大數(shù)據(jù)產(chǎn)業(yè)成為引領(lǐng)信息技術(shù)產(chǎn)業(yè)發(fā)展的核心引、推動(dòng)社會(huì)進(jìn)步的重要力量。
數(shù)據(jù)質(zhì)量的好壞直接關(guān)系到信息的精準(zhǔn)度,也影響到企業(yè)的生存和競(jìng)爭(zhēng)力。Michael Hammer(《Reengineering the Corporation》[2]一書(shū)的作者)曾說(shuō)過(guò),看起來(lái)不起眼的數(shù)據(jù)質(zhì)量問(wèn)題,實(shí)際上是拆散業(yè)務(wù)流程的重要標(biāo)志。數(shù)據(jù)質(zhì)量管理是測(cè)度、提高和驗(yàn)證質(zhì)量,以及整合組織數(shù)據(jù)的方法等一套處理準(zhǔn)則,而體量大、速度快和多樣性的特點(diǎn),決定了大數(shù)據(jù)質(zhì)量所需的處理,有別于傳統(tǒng)信息治理計(jì)劃的質(zhì)量管理方式。
本文基于金蛋理財(cái)大數(shù)據(jù)平臺(tái),通過(guò)對(duì)數(shù)據(jù)流轉(zhuǎn)過(guò)程中各個(gè)階段數(shù)據(jù)質(zhì)量檢測(cè)結(jié)果的采集分析、規(guī)則引擎、評(píng)估反饋和再檢測(cè)的閉環(huán)管理過(guò)程出發(fā),從需求背景、建設(shè)思路、技術(shù)方案、呈現(xiàn)效果及總結(jié)等方面,介紹金蛋理財(cái)數(shù)據(jù)中心數(shù)據(jù)質(zhì)量監(jiān)管平臺(tái)的搭建思路和建設(shè)實(shí)踐。
1 需求背景
隨著公司業(yè)務(wù)數(shù)據(jù)的增多,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)無(wú)法解決大量數(shù)據(jù)查詢(xún)和分析的能力。
需要把這些數(shù)據(jù)同步到Hive[3]分布式結(jié)構(gòu)化數(shù)據(jù)倉(cāng)儲(chǔ),或者HBase[4]實(shí)時(shí)的非結(jié)構(gòu)化數(shù)據(jù)倉(cāng)儲(chǔ)。
背景一:數(shù)據(jù)從Mysql業(yè)務(wù)庫(kù)通過(guò)Sqoop[5]拉取到HDFS[6]上,映射,清洗合并到ods層(業(yè)務(wù)庫(kù)層原始數(shù)據(jù)),cm層(ods層數(shù)據(jù)清洗合并之后的數(shù)據(jù))。由于業(yè)務(wù)庫(kù)表字段進(jìn)行變更、增加、上線要求計(jì)算利息表計(jì)算時(shí)間晚于正常時(shí)間,又或者是集群資源不穩(wěn)定,會(huì)造成數(shù)據(jù)同步合并不完整,數(shù)據(jù)無(wú)法正常使用。需要對(duì)數(shù)據(jù)的質(zhì)量進(jìn)行粗、細(xì)粒度的監(jiān)控并含有報(bào)警機(jī)制。讓開(kāi)發(fā)人員及時(shí)知道問(wèn)題,修改問(wèn)題。關(guān)閉和延緩報(bào)表推送等應(yīng)用,減少由于數(shù)據(jù)的不準(zhǔn)確性帶來(lái)上層應(yīng)用的損失。
背景二:Hive表中的數(shù)據(jù)是每天導(dǎo)入一次,滿足T+1天的查詢(xún),但是實(shí)時(shí)性比較弱。無(wú)法滿足實(shí)時(shí)性要求高的查詢(xún),例如:分析今天某個(gè)時(shí)間段活動(dòng)的詳細(xì)數(shù)據(jù)。從而有了實(shí)時(shí)的存儲(chǔ)的需求HBase(HBase支持update某行數(shù)據(jù),Hive只能一次性插入)。歷史數(shù)據(jù)一次想導(dǎo)入,業(yè)務(wù)庫(kù)實(shí)時(shí)的數(shù)據(jù)(Binlog) →Cannel→Kafka→SparkStreaming→HBase。
中間過(guò)程復(fù)雜,為了保證數(shù)據(jù)的完整性和準(zhǔn)確性,必須建立數(shù)據(jù)質(zhì)量監(jiān)控平臺(tái)。
2 建設(shè)思路
以數(shù)據(jù)質(zhì)量檢核管理PDCA方法論,基于金蛋理財(cái)大數(shù)據(jù)平臺(tái),對(duì)數(shù)據(jù)質(zhì)量需求和問(wèn)題進(jìn)行全質(zhì)量生命周期的管理,包括質(zhì)量問(wèn)題的定義、檢核監(jiān)控、發(fā)現(xiàn)分析、跟蹤反饋及知識(shí)庫(kù)沉淀。數(shù)據(jù)質(zhì)量PDCA流程圖如圖1所示:
2.1質(zhì)量檢核標(biāo)準(zhǔn)
完整性:主要包括實(shí)體缺失、屬性缺失、記錄缺失和字段值缺失四個(gè)方面;
準(zhǔn)確性:一個(gè)數(shù)據(jù)值與設(shè)定為準(zhǔn)確的值之間的一致程度,或與可接受程度之間的差異;
合理性:主要包括格式、類(lèi)型、值域和業(yè)務(wù)規(guī)則的合理有效;
一致性:業(yè)務(wù)指標(biāo)統(tǒng)一定義,數(shù)據(jù)邏輯加工結(jié)果一致性;
及時(shí)性:數(shù)據(jù)倉(cāng)庫(kù)ETL、應(yīng)用展現(xiàn)的及時(shí)和快速性,Jobs運(yùn)行耗時(shí)、質(zhì)量、依賴(lài)及時(shí)性。
金蛋理財(cái)數(shù)倉(cāng)分為用戶(hù)、投資、轉(zhuǎn)出、計(jì)息四大主題,按數(shù)據(jù)價(jià)值量化、存儲(chǔ)資源優(yōu)化等指標(biāo)評(píng)估,劃分物理模型為熱、溫、冷、冰等四個(gè)標(biāo)準(zhǔn),結(jié)合應(yīng)用自定義其具體標(biāo)準(zhǔn)范圍,實(shí)現(xiàn)其靈活性配置;作業(yè)運(yùn)行耗時(shí)分為:優(yōu)、良、一般、關(guān)注、耗時(shí)等,每類(lèi)耗時(shí)定義的標(biāo)準(zhǔn)范圍既符合大數(shù)據(jù)的特性又可滿足具體分析需要,且作業(yè)耗時(shí)與數(shù)倉(cāng)主題和邏輯分層深度整合,實(shí)現(xiàn)多角度質(zhì)量洞察評(píng)估;各項(xiàng)均對(duì)應(yīng)具體的實(shí)施策略。整體數(shù)據(jù)質(zhì)量的檢核對(duì)象包括離線數(shù)倉(cāng)和實(shí)時(shí)數(shù)據(jù)。
2.2管理流程
流程化管理是推進(jìn)數(shù)據(jù)問(wèn)題從發(fā)現(xiàn)、跟蹤、解決到總結(jié)提煉的合理有效工具。質(zhì)量管理流程包括:數(shù)據(jù)質(zhì)量問(wèn)題提報(bào)、數(shù)據(jù)質(zhì)量問(wèn)題分析、故障跟蹤、解決驗(yàn)證、數(shù)據(jù)質(zhì)量評(píng)估分析等主要環(huán)節(jié)步驟;從干系人員的角度分析包括數(shù)據(jù)質(zhì)量管理人員、數(shù)據(jù)質(zhì)量檢查人員、數(shù)據(jù)平臺(tái)開(kāi)發(fā)人員、業(yè)務(wù)及BI商分人員等,從流程步驟到管理人員形成職責(zé)和角色的矩陣圖。如圖2所示:
3技術(shù)方案
3.1總體架構(gòu)如圖3所示
3.2監(jiān)控庫(kù)重要表設(shè)計(jì)
3.3程序規(guī)范
a)Hive:根據(jù)表元數(shù)據(jù)監(jiān)控報(bào)警表monitor_metabase預(yù)超時(shí)時(shí)間,同步 Hive元數(shù)據(jù)表TABLE_PARAMS中的數(shù)據(jù)到歷史元數(shù)據(jù)監(jiān)控表中。
b)設(shè)定定時(shí)任務(wù)執(zhí)行HQL,MR,Spark任務(wù)更新數(shù)據(jù)量、數(shù)據(jù)增量、數(shù)據(jù)增長(zhǎng)率。
c)監(jiān)控指標(biāo)是否超過(guò)閾值,如果超過(guò)根據(jù) 組ID 自動(dòng)報(bào)警;根據(jù)紅色報(bào)警時(shí)間確定再次報(bào)警。使用zabbix工具進(jìn)行監(jiān)控,發(fā)郵件。
d)使用metabase報(bào)表平臺(tái)展示歷史、實(shí)時(shí)數(shù)據(jù)增量和數(shù)據(jù)增長(zhǎng)率。
3.4技術(shù)細(xì)節(jié)
a)由于Hive元數(shù)據(jù)不準(zhǔn)確且有延遲性,所以要元數(shù)據(jù)重建。
b)報(bào)表展示環(huán)節(jié)由于各個(gè)表數(shù)據(jù)增量差距較大,采用增長(zhǎng)率(當(dāng)天的增長(zhǎng)數(shù)/最近七天的平均增長(zhǎng)數(shù))進(jìn)行監(jiān)控,從而折線圖的增長(zhǎng)率在1.0附近。
c)實(shí)時(shí)數(shù)倉(cāng)HBase的值和業(yè)務(wù)庫(kù)進(jìn)行對(duì)比時(shí),spark程序可仿照Pheonix調(diào)用HBase的API結(jié)合Schema配置,形成DataFrame,進(jìn)而拼接SQL進(jìn)行批量化處理。
4 呈現(xiàn)效果
5 總結(jié)
數(shù)據(jù)質(zhì)量是數(shù)據(jù)治理建設(shè)的重要一環(huán),與元數(shù)據(jù)管理、數(shù)據(jù)標(biāo)準(zhǔn)化及數(shù)據(jù)服務(wù)管理等共同構(gòu)建了數(shù)據(jù)治理的體系框架。建設(shè)一個(gè)完整質(zhì)量監(jiān)管平臺(tái),將從監(jiān)控、標(biāo)準(zhǔn)、流程制度等方面提升信息管理能力,優(yōu)先解決所面臨的數(shù)據(jù)質(zhì)量和數(shù)據(jù)服務(wù)問(wèn)題,其效果體現(xiàn)以下幾個(gè)方面:
a)監(jiān)控?cái)?shù)據(jù)資產(chǎn)質(zhì)量狀態(tài),為優(yōu)化數(shù)據(jù)平臺(tái)和數(shù)據(jù)倉(cāng)庫(kù)性能、合理配置數(shù)據(jù)存儲(chǔ)資源提供決策支持;
b)持續(xù)推動(dòng)數(shù)據(jù)質(zhì)量監(jiān)控優(yōu)化預(yù)警、實(shí)時(shí)監(jiān)控的機(jī)制;
c)重點(diǎn)優(yōu)先監(jiān)控關(guān)鍵核心數(shù)據(jù)資產(chǎn),管控優(yōu)化20%核心資源,可提升80%需求應(yīng)用性能;
d)規(guī)范了問(wèn)題故障的跟蹤、Review、優(yōu)化方案。從數(shù)據(jù)中提煉價(jià)值,從方案中形成標(biāo)準(zhǔn)化的知識(shí)體系;
e)由技術(shù)檢測(cè)到業(yè)務(wù)監(jiān)督,形成閉環(huán)工作流機(jī)制,提高整體數(shù)據(jù)質(zhì)量,全面提升服務(wù)業(yè)務(wù)水平。
數(shù)據(jù)質(zhì)量是數(shù)據(jù)倉(cāng)庫(kù)建設(shè)、數(shù)據(jù)應(yīng)用建設(shè)和決策支持的關(guān)鍵因素,可通過(guò)完善組織架構(gòu)和管理流程,加強(qiáng)部門(mén)間銜接和協(xié)調(diào),嚴(yán)格按照標(biāo)準(zhǔn)或考核指標(biāo)執(zhí)行落地,確保數(shù)據(jù)質(zhì)量方能將數(shù)據(jù)的商業(yè)價(jià)值最大化,進(jìn)而提升企業(yè)的核心競(jìng)爭(zhēng)力和保持企業(yè)的可持續(xù)發(fā)展。
參考文獻(xiàn):
[1] 韓京宇,徐立臻.數(shù)據(jù)質(zhì)量研究綜述[J].計(jì)算機(jī)科學(xué),2018,35(2).
[2] Hammer, Michel Champy, James.Reengineering the Corporation[M]. NicholasBrealey, London, 1993:223.
[3] Y. Jia and Z. Shao. A Benchmark for Hive, PIG and Hadoop, 2009. https://issues.apache.org/jira/browse/HIVE,2009: 396.
[4] Nguyen AV, Wynden R, Sun Y: HBase, MapReduce, and Integrated Data Visualization for Processing Clinical Signal Data. In AAAI Spring Symposium: Computational Physiology: 2011.
[5] http://sqoop.apache.org/.
[6] The Hadoop Distributed File System: Architecture and Design, [online] Available: http://hadoop.apache.org/common/docs/r0.19.1/hdfs_design.html.
【通聯(lián)編輯:光文玲】