任修仕,邵劍飛
(昆明理工大學 信息與自動化院,云南 昆明 650504)
?
一種基于Hadoop的數據展示研究
任修仕,邵劍飛
(昆明理工大學 信息與自動化院,云南 昆明 650504)
摘要:大數據時代已經到來,體現出數據量大、類型繁多、價值密度低、速度快和時效高等特點。數據由簡單的使用對象開始轉變為一種基礎性資源,而大數據的規模效應給數據庫存儲數據和數據分析帶來了很大挑戰,更好地從數量級很多的數據中得到所需數據并展示已經成為關注焦點。順應數據管理方式的變革,首先對大數據的基本概念進行剖析,在此基礎上模擬了一個二手車大數據文本作為初始數據,然后把大數據數據倉庫框架與數據庫分表相結合,從而找出所需要的精細數據,最后利用了前端框架把得到的數據展示出來,讓大數據能夠真正應用于人們的生活中。
關鍵詞:大數據;數據倉庫;數據展示
大數據是指無法在可承受的時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合。對大數據的分析是一個具有很大挑戰性的問題。MapReduce框架成為對海量的數據或應用程序有效處理的關鍵點。在過去幾年中,MapReduce已成為最流行的大數據模式,其具有并行計算、批量式和大數據量分析等特點[1]。MapReduce通過把對數據集的大規模操作分發給網絡上的每個節點;每個節點會周期性地返回它所完成的工作和最新的狀態[2]。密集型數據的快速處理成為目前數據庫處理方向的重中之重。它需要所設計的算法能夠擴展到現實世界的數據集。目前,已經有相當大的規模在研究MapReduce對于大規模數據分析的范式。它的靈感來自于函數式編程,允許表達式分布對海量數據的計算,因為它允許在集群上運行大規模數據處理商品硬件[3-4]。而Hadoop 由許多元素構成,其最底部是HDFS(Hadoop Distributed File System),它存儲了Hadoop集群中所有存儲節點上的文件。
1數據來源
本文利用一個國內市場的所有二手車的數據文本,來研究大數據的展示。按照月份、平臺、省份、城市級別、城市、汽車類別、汽車品牌、商家、平臺歸屬、商家類別、汽車型號、使用車齡、行駛里程、報價和價格段的格式,提前整理好所需的大量數據(見圖1),所取數據在數據庫中的顯示如圖2所示。

圖1 所取的數據格式

圖2 所取數據在數據庫中的展示
2數據倉庫與數據庫的結合
一般來說,如果數據量小的話,保存在數據庫中的數據可以直接用基本的SQL語句查詢出來,比如:select 字段名,from 表名,group by 條件,order by 順序。經過筆者測試,當數據量在250萬條以上時,查詢起來非常得慢,等待時間>1 min。為了大幅度提高查詢的效率,可以把一張類似于圖1的主表分解成只與查詢有相關連的字段,也就是把主表分成若干子表,其中的一項子表如圖3所示。

圖3 子表age_carcount_platform
由于人們想得到在不同平臺下某一二手車使用年限下汽車的數量,所以只需要用到圖3中的一些字段[5]。當然查詢效率提高的同時,必然有其他問題出現,除了建多張表比較麻煩以外,其中子表的數據怎么有效地導入進來是一個大問題。如果數據量小,用數據庫工具可以直接導入過來,但是如果數據量過大,以本次實驗的數據為例,導入到子表數據有可能>30 min,這是一個可怕的問題,而Hadoop的出現,解決了這個難題。
Hive是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行運行[6]。 其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析;但Hive 不支持更新操作,只能覆蓋數據,所以,人們只能一張表一張表地進行,然而同樣的數據處理(見圖4),利用了Hadoop,則只用了42.864 s。
3數據的展示
由于在本研究中不存在一般程序所包含的事務,所以也就用不到最常見的ssh框架,本文研究的后臺程序僅僅包含了controller、entity、pojo和repository層,從而最簡單直接地達到了所要求的效果。而前端則利用最近比較新的Angularjs 框架來展示(見圖5),得到了所需要的特定數據信息[7-8]。

圖5 展示出所要得到的數據
4結語
本文研究的目的是把數據量很大的數據分解成若干所需求的數據,并且直觀地用圖表展示出來,從而讓人們在大數據時代能夠快速、直觀地找出所需要的信息,為人們對大數據的進一步分析提供了有效的方法。
參考文獻
[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] 王元卓,靳小龍, 程學旗. 網絡大數據:現狀與展望[J]. 計算機學報, 2013, 36(6):1125-1138.
[5] 楊德仁,馬曉燕. 大型數據庫優化設計方案[J]. 計算機系統應用, 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] 王貫飛. 動態web 應用程序開發框架 AngularJS 的特性分析[J]. 電子技術與軟件工程, 2014(6):268-268.
[8] 董英茹. 簡談AngularJS在下一代Web開發中的應用[J]. 軟件工程師, 2015(5):30-31.
責任編輯彭光宇
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開發等方面的研究。
中圖分類號:TP 301.6
文獻標志碼:A