任修仕,邵劍飛
(昆明理工大學(xué) 信息與自動化院,云南 昆明 650504)
?
一種基于Hadoop的數(shù)據(jù)展示研究
任修仕,邵劍飛
(昆明理工大學(xué) 信息與自動化院,云南 昆明 650504)
摘要:大數(shù)據(jù)時代已經(jīng)到來,體現(xiàn)出數(shù)據(jù)量大、類型繁多、價值密度低、速度快和時效高等特點。數(shù)據(jù)由簡單的使用對象開始轉(zhuǎn)變?yōu)橐环N基礎(chǔ)性資源,而大數(shù)據(jù)的規(guī)模效應(yīng)給數(shù)據(jù)庫存儲數(shù)據(jù)和數(shù)據(jù)分析帶來了很大挑戰(zhàn),更好地從數(shù)量級很多的數(shù)據(jù)中得到所需數(shù)據(jù)并展示已經(jīng)成為關(guān)注焦點。順應(yīng)數(shù)據(jù)管理方式的變革,首先對大數(shù)據(jù)的基本概念進(jìn)行剖析,在此基礎(chǔ)上模擬了一個二手車大數(shù)據(jù)文本作為初始數(shù)據(jù),然后把大數(shù)據(jù)數(shù)據(jù)倉庫框架與數(shù)據(jù)庫分表相結(jié)合,從而找出所需要的精細(xì)數(shù)據(jù),最后利用了前端框架把得到的數(shù)據(jù)展示出來,讓大數(shù)據(jù)能夠真正應(yīng)用于人們的生活中。
關(guān)鍵詞:大數(shù)據(jù);數(shù)據(jù)倉庫;數(shù)據(jù)展示
大數(shù)據(jù)是指無法在可承受的時間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合。對大數(shù)據(jù)的分析是一個具有很大挑戰(zhàn)性的問題。MapReduce框架成為對海量的數(shù)據(jù)或應(yīng)用程序有效處理的關(guān)鍵點。在過去幾年中,MapReduce已成為最流行的大數(shù)據(jù)模式,其具有并行計算、批量式和大數(shù)據(jù)量分析等特點[1]。MapReduce通過把對數(shù)據(jù)集的大規(guī)模操作分發(fā)給網(wǎng)絡(luò)上的每個節(jié)點;每個節(jié)點會周期性地返回它所完成的工作和最新的狀態(tài)[2]。密集型數(shù)據(jù)的快速處理成為目前數(shù)據(jù)庫處理方向的重中之重。它需要所設(shè)計的算法能夠擴(kuò)展到現(xiàn)實世界的數(shù)據(jù)集。目前,已經(jīng)有相當(dāng)大的規(guī)模在研究MapReduce對于大規(guī)模數(shù)據(jù)分析的范式。它的靈感來自于函數(shù)式編程,允許表達(dá)式分布對海量數(shù)據(jù)的計算,因為它允許在集群上運行大規(guī)模數(shù)據(jù)處理商品硬件[3-4]。而Hadoop 由許多元素構(gòu)成,其最底部是HDFS(Hadoop Distributed File System),它存儲了Hadoop集群中所有存儲節(jié)點上的文件。
1數(shù)據(jù)來源
本文利用一個國內(nèi)市場的所有二手車的數(shù)據(jù)文本,來研究大數(shù)據(jù)的展示。按照月份、平臺、省份、城市級別、城市、汽車類別、汽車品牌、商家、平臺歸屬、商家類別、汽車型號、使用車齡、行駛里程、報價和價格段的格式,提前整理好所需的大量數(shù)據(jù)(見圖1),所取數(shù)據(jù)在數(shù)據(jù)庫中的顯示如圖2所示。
圖1 所取的數(shù)據(jù)格式
圖2 所取數(shù)據(jù)在數(shù)據(jù)庫中的展示
2數(shù)據(jù)倉庫與數(shù)據(jù)庫的結(jié)合
一般來說,如果數(shù)據(jù)量小的話,保存在數(shù)據(jù)庫中的數(shù)據(jù)可以直接用基本的SQL語句查詢出來,比如:select 字段名,from 表名,group by 條件,order by 順序。經(jīng)過筆者測試,當(dāng)數(shù)據(jù)量在250萬條以上時,查詢起來非常得慢,等待時間>1 min。為了大幅度提高查詢的效率,可以把一張類似于圖1的主表分解成只與查詢有相關(guān)連的字段,也就是把主表分成若干子表,其中的一項子表如圖3所示。
圖3 子表age_carcount_platform
由于人們想得到在不同平臺下某一二手車使用年限下汽車的數(shù)量,所以只需要用到圖3中的一些字段[5]。當(dāng)然查詢效率提高的同時,必然有其他問題出現(xiàn),除了建多張表比較麻煩以外,其中子表的數(shù)據(jù)怎么有效地導(dǎo)入進(jìn)來是一個大問題。如果數(shù)據(jù)量小,用數(shù)據(jù)庫工具可以直接導(dǎo)入過來,但是如果數(shù)據(jù)量過大,以本次實驗的數(shù)據(jù)為例,導(dǎo)入到子表數(shù)據(jù)有可能>30 min,這是一個可怕的問題,而Hadoop的出現(xiàn),解決了這個難題。
Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運行[6]。 其優(yōu)點是學(xué)習(xí)成本低,可以通過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析;但Hive 不支持更新操作,只能覆蓋數(shù)據(jù),所以,人們只能一張表一張表地進(jìn)行,然而同樣的數(shù)據(jù)處理(見圖4),利用了Hadoop,則只用了42.864 s。
3數(shù)據(jù)的展示
由于在本研究中不存在一般程序所包含的事務(wù),所以也就用不到最常見的ssh框架,本文研究的后臺程序僅僅包含了controller、entity、pojo和repository層,從而最簡單直接地達(dá)到了所要求的效果。而前端則利用最近比較新的Angularjs 框架來展示(見圖5),得到了所需要的特定數(shù)據(jù)信息[7-8]。
圖5 展示出所要得到的數(shù)據(jù)
4結(jié)語
本文研究的目的是把數(shù)據(jù)量很大的數(shù)據(jù)分解成若干所需求的數(shù)據(jù),并且直觀地用圖表展示出來,從而讓人們在大數(shù)據(jù)時代能夠快速、直觀地找出所需要的信息,為人們對大數(shù)據(jù)的進(jìn)一步分析提供了有效的方法。
參考文獻(xiàn)
[1] Weichert T. Big data, gesundheit und der datenschutz[J]. Datenschutz und Datensicherheit-DuD, 2014, 38(12):831-838.
[2] Labrinidis A, Jagadish H V. Challenges and opportunities with big data[J]. Challenges and Opportunities with Big Data-ResearchGate, 2012, 5(12):2032-2033.
[3] Agrawal D, Bernstein P, Bertino E, et al. Challenges and opportunities with big data[J]. Challenges and Opportunities with Big Data-ResearchGate, 2012,6(12):2032-2033.
[4] 王元卓,靳小龍, 程學(xué)旗. 網(wǎng)絡(luò)大數(shù)據(jù):現(xiàn)狀與展望[J]. 計算機(jī)學(xué)報, 2013, 36(6):1125-1138.
[5] 楊德仁,馬曉燕. 大型數(shù)據(jù)庫優(yōu)化設(shè)計方案[J]. 計算機(jī)系統(tǒng)應(yīng)用, 2001(5):16-18.
[6] Thusoo A, Sarma J S, Jain N, et al. Hive: a warehousing solution over a map-reduce framework[J]. Vldb Proceedings of the Vldb Endowment, 2009, 2(2):1626-1629.
[7] 王貫飛. 動態(tài)web 應(yīng)用程序開發(fā)框架 AngularJS 的特性分析[J]. 電子技術(shù)與軟件工程, 2014(6):268-268.
[8] 董英茹. 簡談AngularJS在下一代Web開發(fā)中的應(yīng)用[J]. 軟件工程師, 2015(5):30-31.
責(zé)任編輯彭光宇
Research on Data Display based on Hadoop
REN Xiushi, SHAO Jianfei
(Faculty of Information and Automation, Kunming University of Science and Technology, Kunming 650504, China)
Abstract:Big data era has arrived, the data volume is big, the type is various, the value density is low and the speed of the time is high. The data is transformed into a basic resource, and the scale effect of big data has brought a great challenge to the database storage data and data analysis. How to get the data you want from a number of data and display it has become a common concern. The data management mode of the reform is brewing and occurred, the basic concept of large data is analyzed, and the simulation is dove based on a second-hand car big data text taken as the initial data, then the big data warehouse framework and database table are connected to find out the required data. Finally, use the front frame to get the data show, so that the big data can really be applied to the people life.
Key words:big data, data warehouse, data display
收稿日期:2015-07-03
作者簡介:任修仕(1990-),男,碩士研究生,主要從事無線通信與web開發(fā)等方面的研究。
中圖分類號:TP 301.6
文獻(xiàn)標(biāo)志碼:A