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