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