周鶴,朱曉民,趙銳(1 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國家重點實驗室,北京 100876; 2 東信北郵信息技術(shù)有限公司,北京 100191; 中國人民解放軍6192部隊,北京 102205)
?
手機(jī)閱讀平臺倉庫管理模塊的設(shè)計與實現(xiàn)*
周鶴1,2,朱曉民1,2,趙銳3
(1 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國家重點實驗室,北京 100876; 2 東信北郵信息技術(shù)有限公司,北京 100191; 3 中國人民解放軍61932部隊,北京 102205)
摘 要本文針對手機(jī)閱讀數(shù)據(jù)倉庫計算和存儲的特點,設(shè)計并實現(xiàn)了符合手機(jī)閱讀基地Hadoop Hive數(shù)據(jù)倉庫自身特點的數(shù)據(jù)倉庫管理系統(tǒng),保證數(shù)據(jù)信息的準(zhǔn)確性、一致性、完善性,縮短數(shù)據(jù)清理周期,提高數(shù)據(jù)質(zhì)量,實現(xiàn)對信息數(shù)據(jù)資源的有效利用與信息數(shù)據(jù)管理流程的再優(yōu)化。主要功能是倉庫基本信息管理、調(diào)度任務(wù)的查詢與監(jiān)控、數(shù)據(jù)流與血緣分析以及數(shù)據(jù)依賴分析等。
關(guān)鍵詞Hadoop Hive;元數(shù)據(jù);調(diào)度監(jiān)控;數(shù)據(jù)血緣
隨著信息技術(shù)的不斷發(fā)展,企業(yè)面臨的數(shù)據(jù)愈加豐富和繁雜,其計算機(jī)系統(tǒng)產(chǎn)生的數(shù)據(jù)也越來越多。對于這樣一個復(fù)雜的企業(yè)數(shù)據(jù)環(huán)境,如何安全、有效地管理大量的、復(fù)雜的數(shù)據(jù),并快速、高效地訪問基于這些基礎(chǔ)數(shù)據(jù)而產(chǎn)生的潛在價值,成為企業(yè)關(guān)注的熱點。隨著技術(shù)的不斷成熟,DW(Data Warehouse,數(shù)據(jù)倉庫)為企業(yè)的數(shù)據(jù)管理提供了有效的解決方案。但是在數(shù)據(jù)倉庫的搭建和使用過程中,大量數(shù)據(jù)的收集、入庫、計算、管理和訪問的復(fù)雜性成為日益突出的問題,對于用戶而言,他們面對眾多異構(gòu)的數(shù)據(jù)源,指標(biāo)和解釋不一致、統(tǒng)計口徑有差異,業(yè)務(wù)的理解與實際開發(fā)而脫節(jié);對于業(yè)務(wù)和技術(shù)人員來說,他們要應(yīng)付多重系統(tǒng),業(yè)務(wù)名詞的定義沒有同業(yè)務(wù)、系統(tǒng)的發(fā)展相適應(yīng),缺少標(biāo)準(zhǔn)的信息承載平臺。元數(shù)據(jù)(Meta Data)的引入為解決這些問題指明了新的方向。
元數(shù)據(jù)是數(shù)據(jù)倉庫的一個重要組成部分,是關(guān)于數(shù)據(jù)的數(shù)據(jù),它提供了相應(yīng)數(shù)據(jù)的上下文環(huán)境的描述信息。元數(shù)據(jù)不僅定義了數(shù)據(jù)倉庫中數(shù)據(jù)的模式、來源以及抽取和轉(zhuǎn)換規(guī)則等,而且實現(xiàn)了對數(shù)據(jù)倉庫的管理,是聯(lián)系數(shù)據(jù)倉庫中各部分的紐帶。在元數(shù)據(jù)管理中,通過建立元數(shù)據(jù)庫來滿足對全局可用和廣泛理解的元數(shù)據(jù)的存儲需求,它負(fù)責(zé)存儲和控制并使之能被所有的其它元數(shù)據(jù)組件訪問。
目前,中國移動手機(jī)閱讀基地的Hadoop Hive數(shù)據(jù)倉庫平臺已經(jīng)穩(wěn)定運營將近一年,日處理話單量近300種,日均數(shù)據(jù)量近1.5 T,業(yè)務(wù)調(diào)度節(jié)點近1 000個。由于對口業(yè)務(wù)種類多、服務(wù)對象廣、數(shù)據(jù)處理邏輯復(fù)雜,并且整個平臺調(diào)度任務(wù)關(guān)系網(wǎng)顯現(xiàn)不斷增長的發(fā)展模式,為了方便后期對整個倉庫管理平臺的科學(xué)管理與維護(hù),迫切需要研發(fā)設(shè)計符合其自身特點的數(shù)據(jù)倉庫管理模塊。良好的倉庫管理模塊設(shè)計不僅便于IT人員、技術(shù)人員及維護(hù)人員更好地管理和使用數(shù)據(jù)倉庫資源,而且可以在很大程度上幫助普通業(yè)務(wù)人員靈活利用倉庫所提供的海量數(shù)據(jù)。
針對手機(jī)閱讀數(shù)據(jù)倉庫特點,本文提供方便快捷的倉庫管理服務(wù),具體的設(shè)計目標(biāo):元數(shù)據(jù)管理,提供不同數(shù)據(jù)庫系統(tǒng)相關(guān)元數(shù)據(jù)信息的安全存儲、快速查詢、實時更新服務(wù);提供實時查看調(diào)度、監(jiān)控管理、查錯控制、啟停管理等功能;提供數(shù)據(jù)血緣分析、數(shù)據(jù)依賴分析等功能。
本文從元數(shù)據(jù)管理、調(diào)度任務(wù)查詢與監(jiān)控、數(shù)據(jù)流與血緣分析與數(shù)據(jù)依賴分析等方面設(shè)計一種新的元數(shù)據(jù)信息管理系統(tǒng),并將該系統(tǒng)應(yīng)用于手機(jī)閱讀倉庫平臺中,為提高倉庫科學(xué)管理程度提供解決方案,方便現(xiàn)場維護(hù)人員及時、準(zhǔn)確的查看倉庫元數(shù)據(jù)信息、每日調(diào)度健康狀況、數(shù)據(jù)血緣流向,提高工作效率。
2.1 系統(tǒng)設(shè)計圖
手機(jī)閱讀平臺數(shù)據(jù)倉庫管理模塊整體設(shè)計圖如圖1所示。
圖1 手機(jī)閱讀平臺數(shù)據(jù)倉庫管理模塊整體設(shè)計圖
如圖1所示,數(shù)據(jù)倉庫管理平臺主要涉及到3個模塊,即元數(shù)據(jù)管理、調(diào)度監(jiān)控、血緣分析。其中,元數(shù)據(jù)管理模塊系統(tǒng)設(shè)計如圖2所示。
圖2 元數(shù)據(jù)管理模塊系統(tǒng)設(shè)計圖
元數(shù)據(jù)管理模塊的功能主要包括各個數(shù)據(jù)平臺數(shù)據(jù)收集入庫,存儲其元數(shù)據(jù)信息,最終提供查詢接口,向用戶輸出信息。
調(diào)度監(jiān)控模塊設(shè)計如圖3所示。
圖3 調(diào)度監(jiān)控模塊系統(tǒng)設(shè)計圖
調(diào)度監(jiān)控模塊的功能涉及到兩部分日志的收集,將節(jié)點運行日志和Oozie日志結(jié)合在一起,通過解析日志得到節(jié)點運行狀態(tài)、時長等重要信息,向用戶提供差錯控制、狀態(tài)查詢、調(diào)度啟停和重跑等功能。
血緣分析模塊設(shè)計如圖4所示。
圖4 血緣分析模塊系統(tǒng)設(shè)計圖
血緣分析模塊在節(jié)點血緣的基礎(chǔ)上,結(jié)合表血緣分析,提供數(shù)據(jù)地圖向用戶展現(xiàn)血緣流向。
結(jié)合上述模塊描述和系統(tǒng)設(shè)計圖,手機(jī)閱讀平臺數(shù)據(jù)倉庫管理模塊共分為3個主要的子模塊。
(1) 元數(shù)據(jù)管理模塊:通過對ETL元數(shù)據(jù)、倉庫元數(shù)據(jù)、接口元數(shù)據(jù)和業(yè)務(wù)元數(shù)據(jù)的管理,實現(xiàn)對倉庫信息的有效管理和呈現(xiàn),為倉庫應(yīng)用開發(fā)、倉庫調(diào)度控制管理、倉庫數(shù)據(jù)管理、需求設(shè)計和倉庫調(diào)優(yōu)提供必要支撐。
(2) 調(diào)度監(jiān)控模塊:對調(diào)度節(jié)點實施有效監(jiān)控,實時、準(zhǔn)確地呈現(xiàn)日常調(diào)度情況。通過日志自動生成和準(zhǔn)實時抓取Oozie日志,對整個平臺的調(diào)度節(jié)點的運行狀況進(jìn)行實時分析與管理,結(jié)合可視化展示方式,最終將調(diào)度情況以動態(tài)操作的圖形界面顯現(xiàn)給維護(hù)人員。主要功能包括調(diào)度任務(wù)全貌展示、任意節(jié)點的前置/后置依賴關(guān)系分析、兩點間依賴關(guān)系分析、節(jié)點任務(wù)自動重啟、狀態(tài)監(jiān)控、運行時長監(jiān)控等。
(3) 血緣分析模塊:這部分主要分為兩條線,節(jié)點血緣關(guān)系和表血緣關(guān)系。節(jié)點血緣關(guān)系為外層依賴調(diào)度關(guān)系,在開發(fā)時即指定任務(wù)調(diào)度依賴;表血緣關(guān)系為內(nèi)部數(shù)據(jù)流向,可觀察到數(shù)據(jù)從原始表經(jīng)過了哪些步驟,最終到達(dá)結(jié)果表,或指定結(jié)果表,可反向查詢其中間表和對應(yīng)的原始表。
2.2 平臺核心功能模塊分析
2.2.1 元數(shù)據(jù)下載入庫模塊
通過編寫代碼完成元數(shù)據(jù)信息收集,完成Mysql元數(shù)據(jù)信息下載,Oozie信息下載,Log信息下載,Hive代碼里表信息抽取及入庫,數(shù)據(jù)流信息入庫等代碼。具體流程如圖5所示。
2.2.2 調(diào)度監(jiān)控模塊
調(diào)度監(jiān)控使業(yè)務(wù)人員及時查看出錯腳本、調(diào)度信息,是每日例檢不可缺少的一部分,通過該工具可方便定位問題腳本,及時啟停重跑,快速恢復(fù)調(diào)度。具體流程如圖6所示。
圖5 元數(shù)據(jù)表下載入庫流程圖
2.2.3 血緣分析模塊
血緣分析是數(shù)據(jù)倉庫管理平臺提供的一個非常重要的基礎(chǔ)功能,可以用在影響分析、故障排查、下線分析、鏈路分析、尋根溯源及重要性分析等多種場合中,是開發(fā)和業(yè)務(wù)人員了解全局、了解鏈路的重要途徑。在這個模塊里,主要通過一些圖的算法、血緣關(guān)系算法和配置文件計算出節(jié)點血緣和表血緣,流程如圖7所示。
圖6 調(diào)度監(jiān)控流程圖
本文針對手機(jī)閱讀項目工作遇到的問題,給出了具體的解決方案,設(shè)計了該項目數(shù)據(jù)倉庫的元數(shù)據(jù)管理模塊,實現(xiàn)了可視化查找元數(shù)據(jù)相關(guān)信息、調(diào)度任務(wù)查詢與監(jiān)控、數(shù)據(jù)依賴與血緣分析,使操作人員可以便捷的找到需要的信息。在元數(shù)據(jù)管理模塊中,不僅能夠可視化呈現(xiàn)不同層次的元數(shù)據(jù)信息,還可針對現(xiàn)有Hive倉庫分析其結(jié)構(gòu)設(shè)計,優(yōu)化不合理的結(jié)構(gòu)設(shè)計。在調(diào)度節(jié)點監(jiān)控中,通過將本地日志和系統(tǒng)日志相結(jié)合,有效的將調(diào)度節(jié)點管理起來,一方面通過本地日志得到了腳本的運行狀況,一方面結(jié)合Oozie日志又得到了與該腳本對應(yīng)的任務(wù)信息,從而可以通過簡單的命令實現(xiàn)之前復(fù)雜的操作流程。在數(shù)據(jù)依賴分析中,通過數(shù)據(jù)挖掘及機(jī)器學(xué)習(xí)等技術(shù),發(fā)現(xiàn)其中冗余枝節(jié),優(yōu)化不合理結(jié)構(gòu),精簡倉庫調(diào)度,實現(xiàn)高效率運轉(zhuǎn)。
圖7 血緣分析模塊流程圖
參考文獻(xiàn)
[1] DAMA International. The DAMA guide to the data management body of knowledge[M]. 北京:清華大學(xué)出版社, 2012.
[2] 朱斌. 基于Hadoop的日志統(tǒng)計分析系統(tǒng)的設(shè)計與實現(xiàn)[D]. 哈爾濱: 哈爾濱工業(yè)大學(xué), 2013.
[3] 楊鴻賓, 宋明. 元數(shù)據(jù)管理平臺總體架構(gòu)設(shè)計研究[J]. 計算機(jī)系統(tǒng)應(yīng)用, 2007,16(11):17-20.
[4] 劉喜平, 萬長選. 帶起源的數(shù)據(jù):模型與存儲[J]. 計算機(jī)科學(xué), 2008(10):187-191.
[5] 張明志. 基于CWM規(guī)范設(shè)計的元數(shù)據(jù)管理系統(tǒng)[J]. 電腦知識與技術(shù), 2014(2).
[6] Anton A. Chuvakin, Kevin J. Schmidt, Christopher Phillips. 日志管理與分析權(quán)威指南[M]. 北京:機(jī)械工業(yè)出版社, 2014.
[7] 魏建生. 高性能重復(fù)數(shù)據(jù)檢測與刪除技術(shù)研究[D]. 武漢:華中科技大學(xué), 2012.
[8] 賈文娟. 基于Hive分布式計算與數(shù)據(jù)挖掘的關(guān)聯(lián)性營銷的設(shè)計與實現(xiàn)[D]. 北京:北京交通大學(xué), 2011.
Design and implementation of warehouse management module for mobile reading platform
ZHOU He1,2, ZHU Xiao-min1,2, ZHAO Rui3
(1 State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China; 2 EBUPT Information Technology Co., Ltd., Beijing 100191, China; 3 Unit 61932 of the PLA, Beijing 102205, China)
AbstractAccording to the characteristics of data warehouse calculation and storage, the data warehouse management system is designed and implemented to meet the characteristics of Hadoop Hive data warehouse. It can ensure the accuracy, consistency and integrity of data, reduce the data cleaning cycle and improve the data quality. The main function is the basic information management of the warehouse, the query and monitoring of the task, data fl ow and blood analysis and data dependence analysis.
KeywordsHadoop Hive; metadata; dispatch monitoring; data fl ow
* 基金項目:國家973計劃項目(編號:2013CB329102);國家自然科學(xué)基金資助項目(編號:61471063, 61421061, 61372120, 61271019, 61101119, 61121001);教育部科學(xué)技術(shù)研究重點(重大)項目資助(編號:MCM20130310);北京市自然科學(xué)基金資助項目(編號:4152039);北京高等學(xué)校青年英才計劃項目(編號:YETP0473)。
收稿日期:2015-12-18
中圖分類號TN929.5
文獻(xiàn)標(biāo)識碼A
文章編號1008-5599(2016)02-0084-04