大數(shù)據(jù)處理流程及存儲模式的改進(jìn)
孫紅1,2,郝澤明1,2
(1.上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海200093;2.上?,F(xiàn)代光學(xué)系統(tǒng)重點實驗室,上海200093)
摘要結(jié)合大數(shù)據(jù)的特點,提出以標(biāo)簽云改進(jìn)方案來快速識別網(wǎng)絡(luò)熱搜詞,同時考慮到傳統(tǒng)的數(shù)據(jù)倉庫在查詢、存儲結(jié)構(gòu)化數(shù)據(jù)方面的優(yōu)勢,在目前學(xué)者提出的數(shù)據(jù)倉庫與Hadoop平臺結(jié)合的基礎(chǔ)上,提出了協(xié)作模式中與以往不同的數(shù)據(jù)遷移方式,即使用數(shù)據(jù)中間件,并通過相同數(shù)量記錄導(dǎo)入Hadoop的時間比較,得出文中所提的數(shù)據(jù)遷移方法較Sqoop方法更具優(yōu)勢的結(jié)論。
關(guān)鍵詞大數(shù)據(jù);數(shù)據(jù)存儲;數(shù)據(jù)分析;Hadoop;標(biāo)簽云
Research on Processing and Storage Mode of Big Bata
SUN Hong1,2,HAO Zeming1,2
(1.School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,
Shanghai 200093,China;2.Shanghai Key Lab of Modern Optical System,Shanghai 200093,China)
AbstractBased on the characteristics of big data,the paper proposes quickly recognizing top search queries by the tag cloud.It also introduces the advantages of the traditional data warehouse in query and storage structure,and puts forward a different method of data transfer from the traditional ones in the collaboration mode,which is based on the combination of data warehouse and Hadoop platform.The data middle ware is used,and a comparison between the time taken for the same quantity of records to be introduced into Hadoop shows that the method proposed is superior to Sqoop.
Keywordsbig data;data storage;data analysis;Hadoop;the tag cloud
根據(jù)國際數(shù)據(jù)公司(IDC)監(jiān)測,全球數(shù)據(jù)量大約每兩年翻一番,預(yù)計到2020年全球?qū)碛?5ZB的數(shù)據(jù)量,且85%以上的數(shù)據(jù)將以非結(jié)構(gòu)化或半結(jié)構(gòu)化的形式存在,大數(shù)據(jù)時代的到來毋庸置疑[1]。
1大數(shù)據(jù)概述及發(fā)展趨勢
1.1大數(shù)據(jù)的概述
目前關(guān)于大數(shù)據(jù)的定義說法各異,維基百科給出的大數(shù)據(jù)定義是:利用常規(guī)軟件工具捕獲、管理和處理數(shù)據(jù)所耗時間超過可容忍時間的數(shù)據(jù)集;2011年5月,全球著名咨詢機構(gòu)麥肯錫公司發(fā)布了“大數(shù)據(jù):下一個創(chuàng)新、競爭和生產(chǎn)力的前沿”,在報告中對大數(shù)據(jù)的定義進(jìn)行了擴充。大數(shù)據(jù)是指其大小超出了典型數(shù)據(jù)庫軟件的采集、存儲、管理和分析等能力的數(shù)據(jù)集。
大數(shù)據(jù)的特點可概括為4 V[2],即Volume(規(guī)模巨大)、Variety(模態(tài)繁多)、Velocity(生成快速)和Value(價值大但密度低)。首先,數(shù)據(jù)集合的規(guī)模不斷擴大,已到PB級甚至以ZB來計數(shù)。大數(shù)據(jù)蘊藏的價值雖大,但價值密度卻較低,通常需要對海量的數(shù)據(jù)進(jìn)行挖掘分析,才能獲取潛在價值。
1.2大數(shù)據(jù)的發(fā)展趨勢
在未來一段時間內(nèi),大數(shù)據(jù)將成為企業(yè)、社會和國家層面重要的戰(zhàn)略資源。大數(shù)據(jù)將不斷成為各類機構(gòu),尤其是企業(yè)的重要資產(chǎn),成為提升機構(gòu)和公司競爭力的有力武器。企業(yè)將更加鐘情于用戶數(shù)據(jù),充分利用客戶與其在線產(chǎn)品或服務(wù)交互產(chǎn)生的數(shù)據(jù),并從中獲取價值。此外,大數(shù)據(jù)對廣告、產(chǎn)品推銷和消費者行為市場發(fā)揮重要影響。
大數(shù)據(jù)將面臨隱私保護的重大挑戰(zhàn),數(shù)據(jù)公開是有必要的,若僅為了保護隱私就將現(xiàn)有的數(shù)據(jù)都加以隱藏,那么數(shù)據(jù)的價值根本無法體現(xiàn),企事業(yè)單位、政府、科研機構(gòu)可從中獲取相關(guān)領(lǐng)域的數(shù)據(jù)進(jìn)行挖掘分析;現(xiàn)有的隱私保護法規(guī)和技術(shù)手段難以適應(yīng)大數(shù)據(jù)環(huán)境,個人隱私越來越難以保護,有可能會出現(xiàn)有償隱私服務(wù),Dwork[3]提出了新的差分隱私方法,差分隱私保護技術(shù)可能是解決隱私保護問題一個方向,預(yù)計各國都將會有一系列關(guān)于數(shù)據(jù)隱私的標(biāo)準(zhǔn)和條例出臺。
大數(shù)據(jù)處理離不開云計算技術(shù),云計算為大數(shù)據(jù)提供彈性可擴展的基礎(chǔ)設(shè)施支撐環(huán)境以及數(shù)據(jù)服務(wù)的高效模式,大數(shù)據(jù)則為云計算提供了新的商業(yè)價值。因此,從2013年開始,大數(shù)據(jù)技術(shù)與云計算技術(shù)必然進(jìn)入更完美的結(jié)合期??傮w而言,云計算、物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)等新興計算形態(tài),既是產(chǎn)生大數(shù)據(jù)的地方,也是需要大數(shù)據(jù)分析方法的領(lǐng)域。
大數(shù)據(jù)分析將出現(xiàn)一系列重大變革。就像計算機和互聯(lián)網(wǎng)一樣,大數(shù)據(jù)可能是新一波的技術(shù)革命。基于大數(shù)據(jù)的深度學(xué)習(xí)、數(shù)據(jù)挖掘、機器學(xué)習(xí)和可視化可能會改變小數(shù)據(jù)中的眾多算法和基礎(chǔ)理論;如2006 年,多倫多大學(xué)的Hinton等人使用無監(jiān)督的逐層貪婪的預(yù)訓(xùn)練方法成功減輕了深度模型優(yōu)化困難的問題[3],從而掀起了深度學(xué)習(xí)的浪潮,清晰的圖形可直觀展示分析過程,但是用戶界面與交互設(shè)計,不確定性的量化,面向各領(lǐng)域的量化,并行化這些問題未得到很好解決,這幾個方面可能會產(chǎn)生理論級別的突破。
2大數(shù)據(jù)的處理流程
2.1數(shù)據(jù)采集與集成
鑒于大數(shù)據(jù)的特點,對大數(shù)據(jù)的態(tài)勢感知、質(zhì)量評估及融合表示均面臨新的挑戰(zhàn)。大數(shù)據(jù)來源廣泛,數(shù)據(jù)類型復(fù)雜,要想處理大數(shù)傳統(tǒng)的數(shù)據(jù)庫領(lǐng)域已對數(shù)據(jù)抽取和集成有了比較成熟的研究,隨著新的數(shù)據(jù)源的出現(xiàn),數(shù)據(jù)集成方法也在不斷發(fā)展,現(xiàn)有的數(shù)據(jù)抽取和集成方式可分為4種類型[4-5]:基于物化或ETL方法的引擎、基于聯(lián)邦數(shù)據(jù)庫或中間件方法的引擎、基于數(shù)據(jù)流方法的引擎和基于搜索引擎的方法。
對大數(shù)據(jù)的質(zhì)量評估需要建立數(shù)據(jù)模型或提出合適的采樣方法,同時需要找到對采樣數(shù)據(jù)的評估與檢測方法。傳統(tǒng)的數(shù)據(jù)庫采樣方法不能自由地從大數(shù)據(jù)中獲取記錄,因而不適合大數(shù)據(jù)的采樣。文獻(xiàn)[4]提出了基于圖模型的增量式數(shù)據(jù)庫采樣方法WDB-Sampler,該方法通過查詢接口從數(shù)據(jù)庫中以增量的方式獲取近似隨機的樣本。由于針對樣本每條數(shù)據(jù)作為頂點去建立圖模型,每輪查詢后需要將查詢結(jié)果擴充到圖模型中來產(chǎn)生下一輪查詢詞,但這造成較高的代價。
這方面的成果有美國 UniSQL 公司開發(fā)的UniSQL/M是由一個異構(gòu)數(shù)據(jù)庫系統(tǒng),其的目標(biāo)是在SQL的基礎(chǔ)上實現(xiàn)關(guān)系和面向?qū)ο蟮臄?shù)據(jù)庫的集成[6]。UniSQL/M 是一個完整的數(shù)據(jù)庫系統(tǒng),是 ANSI SQL 結(jié)合了面向?qū)ο髷?shù)據(jù)模型概念的擴展。美國斯坦福大學(xué)在 TSIMMIS/Lore 項目中研制開發(fā)的Lore系統(tǒng)是一個異構(gòu)信息源集成系統(tǒng)[7]。該系統(tǒng)采用了一種帶標(biāo)簽樹的自描述數(shù)據(jù)模型——對象交換模型(OEM),將各異構(gòu)數(shù)據(jù)轉(zhuǎn)化為OEM數(shù)據(jù),并提供 LoreL 語言對這些數(shù)據(jù)進(jìn)行訪問。
2.2數(shù)據(jù)的存儲
行存儲和列存儲是兩種典型的數(shù)據(jù)庫物理存儲方法,行存儲中記錄以行的形式存儲在數(shù)據(jù)庫關(guān)系表中,記錄中所有列均需要存儲,這種方式當(dāng)讀取一行記錄數(shù)據(jù)時,行中所有列數(shù)據(jù)都會從磁盤中讀取,導(dǎo)致額外的磁盤I/O查詢開銷和耗費額外的查詢時間;列式存儲將關(guān)系表按列垂直分割成多個子關(guān)系表,分割后的每組子關(guān)系表中的數(shù)據(jù)放在同一存儲節(jié)點;不同的列可能分布在不同的數(shù)據(jù)節(jié)點上,讀取不同列的數(shù)據(jù)會跨節(jié)點訪問,增加了網(wǎng)絡(luò)傳輸所耗費的時間;文獻(xiàn)[8]提出了行列混合的數(shù)據(jù)存儲結(jié)構(gòu)(RCFile)來解決大規(guī)模數(shù)據(jù)加載速度快、縮短查詢響應(yīng)時間等問題。RCFile集中了行存儲和列存儲的優(yōu)點,已經(jīng)是分布式離線數(shù)據(jù)分析系統(tǒng)中數(shù)據(jù)存儲結(jié)構(gòu)的事實標(biāo)準(zhǔn)。
針對大數(shù)據(jù),傳統(tǒng)的存儲方式有:適合存儲海量非結(jié)構(gòu)化數(shù)據(jù)的分布式文件系統(tǒng)HDFS、適合存儲海量無模式的半結(jié)構(gòu)化數(shù)據(jù)的分布式Key/Value存儲引擎Hbase、適合存儲海量結(jié)構(gòu)化數(shù)據(jù)的分布式并行數(shù)據(jù)庫系統(tǒng)Greenplum(Greenplum是基于PostgreSQL開發(fā)的一款MPP架構(gòu)的、shared-nothing無共享的分布式并行數(shù)據(jù)庫系統(tǒng))。HDFS并不適合那些要求低延時訪問的應(yīng)用程序,不能較好地處理大量小文件,目前Hadoop只支持單用戶寫,不支持并發(fā)多用戶寫。Greenplum不支持觸發(fā)器,只要涉及到要將行有Segment Host移動時會發(fā)生錯誤,故現(xiàn)有存儲方式有待改進(jìn)。
2.3數(shù)據(jù)的挖掘與分析
大數(shù)據(jù)的分析是整個環(huán)節(jié)的核心部分,大數(shù)據(jù)分析的基本方法包括統(tǒng)計、快速傅里葉變換、基線和峰值、列表和作圖。
如圖1所示,大數(shù)據(jù)分析的理論核心是數(shù)據(jù)挖掘,各種數(shù)據(jù)挖掘的算法針對不同格式類型的數(shù)據(jù),這些算法不僅能處理大數(shù)據(jù)的數(shù)據(jù)量,也一定程度地滿足處理大數(shù)據(jù)的速度要求。例如挖掘算法之一關(guān)聯(lián)規(guī)則,挖掘過程第一階段必須先從資料集合中找出所有的頻繁項集(Frequentltemsets),第二階段再由這些頻繁項集中產(chǎn)生關(guān)聯(lián)規(guī)則(ASsOCiationRules)。最經(jīng)典的關(guān)聯(lián)規(guī)則提取算法是Apriori算法[9],當(dāng)數(shù)據(jù)量大時,許多計算頻繁項集的算法處理不了或計算的數(shù)度過慢,故R.Agrawal最早在文獻(xiàn)[9]提出了Apriori的3種并行算法cD、DD和caD。
圖1 大數(shù)據(jù)的處理流程
預(yù)測性分析可讓分析員根據(jù)可視化分析和數(shù)據(jù)挖掘結(jié)果做出一些預(yù)測性判斷。異構(gòu)數(shù)據(jù)帶來了數(shù)據(jù)分析的新挑戰(zhàn)與困難,需要一系列的工具去解析、提取、分析數(shù)據(jù)。語義引擎將基礎(chǔ)設(shè)施能力、軟件系統(tǒng)能力以及智能算法技術(shù)打包在一起,使之能從大數(shù)據(jù)中挖掘出特點,通過科學(xué)建模和輸入新的數(shù)據(jù),從而預(yù)測未來的數(shù)據(jù)。
挖掘大數(shù)據(jù)的價值必然要對大數(shù)據(jù)進(jìn)行內(nèi)容上的分析與計算,深度學(xué)習(xí)和知識計算是大數(shù)據(jù)分析的基礎(chǔ),而可視化既是數(shù)據(jù)分析的關(guān)鍵技術(shù)也是數(shù)據(jù)分析結(jié)果呈現(xiàn)的關(guān)鍵技術(shù)。
2.4可視化技術(shù)
對于多數(shù)用戶而言,若將晦澀難懂的數(shù)據(jù)以“更友好的”圖形圖像來表現(xiàn),則更易理解;可視化技術(shù)注重技術(shù)的實現(xiàn)及其算法的優(yōu)化,通過開發(fā)可視化工具變抽象為具象,在便于理解的同時加深印象。其涉及到計算機圖形學(xué)、計算機仿真領(lǐng)域等。目前數(shù)據(jù)可視化的主要技術(shù)有:基于集合投影、面向像素、基于圖標(biāo)、基于層次和圖形可視化和層疊式顯示技術(shù)等。圖2顯示了典型的文本可視化技術(shù)是標(biāo)簽云[10],Word Tree結(jié)合后綴樹的思想,用圖3顯示樹狀結(jié)構(gòu)呈現(xiàn)查詢詞的上下文關(guān)系;本文提出一種用于快速識別網(wǎng)絡(luò)媒體主題熱度和內(nèi)容聯(lián)系的標(biāo)簽云技術(shù)的改進(jìn)方法,如圖4所示。
圖2 標(biāo)簽云舉例
圖3 樹狀圖
圖4 改進(jìn)后的快速識別網(wǎng)絡(luò)媒體主題標(biāo)簽云圖
關(guān)鍵詞將大號不同顏色字體的放在標(biāo)簽云的左邊,同時將小號不同顏色字體的關(guān)鍵詞放在標(biāo)簽云的右邊。這樣會直觀地在左邊位置尋找網(wǎng)絡(luò)熱搜詞。如果要了解媒體內(nèi)容聯(lián)系,則可選擇樹結(jié)構(gòu)的Word Tree。對大數(shù)據(jù)進(jìn)行探索和可視化仍處在初始階段,尤其是對于動態(tài)多維度大數(shù)據(jù)流的可視化技術(shù)還較為匱乏,需要擴展現(xiàn)有的可視化算法,研究新的數(shù)據(jù)轉(zhuǎn)換方法以便能應(yīng)變復(fù)雜的信息流數(shù)據(jù)。也需設(shè)計創(chuàng)新的交互方式來對大數(shù)據(jù)進(jìn)行可視化交互和輔助決策。
收稿日期:2015-04-16
基金項目:國家自然科學(xué)基金資助項目(61170277;61472256);上海市教委科研創(chuàng)新重點
作者簡介:孫紅(1964—),女,副教授。研究方向:計算機網(wǎng)絡(luò)通信與云計算等。E-mail:sunhong_sh@sohu.com。郝澤明(1989—),男,碩士研究生。研究方向:控制理論與控制工程。
doi:10.16180/j.cnki.issn1007-7820.2015.12.046
中圖分類號TP311文獻(xiàn)標(biāo)識碼A
2.5數(shù)據(jù)平臺設(shè)計與應(yīng)用
大數(shù)據(jù)處理技術(shù)正在改變目前計算機的運行模式,其需要處理文本、音頻、視頻及其他形態(tài)的數(shù)據(jù),要求處理速度快;因其所用的均是最普通成本的硬件,而云計算其將計算任務(wù)分布在眾多計算機構(gòu)成的系統(tǒng)上,使用戶能按需獲得信息服務(wù)。云計算分布式架構(gòu)很好地支持大數(shù)據(jù)存儲和處理需求,其并行處理技術(shù)是當(dāng)前應(yīng)對大計算量數(shù)據(jù)的普遍做法;其次云計算為大數(shù)據(jù)提供了可彈性擴展相對便宜的存儲空間和計算資源,是異構(gòu)系統(tǒng)較多的企業(yè)及時準(zhǔn)確處理數(shù)據(jù)的有力方式。當(dāng)然大數(shù)據(jù)要走向云計算還有賴于數(shù)據(jù)通信帶寬的提高和云資源的建設(shè),數(shù)據(jù)分析集逐步擴大,這些條件使得大數(shù)據(jù)在云平臺上處理和利用成為可能。
3大數(shù)據(jù)平臺數(shù)據(jù)存儲方案的改進(jìn)
目前提供大數(shù)據(jù)平臺的公司主要有 Google,Amazon,Yahoo和Microsoft等。Amazon構(gòu)建的大數(shù)據(jù)平臺不僅服務(wù)自己內(nèi)部的互聯(lián)網(wǎng)應(yīng)用,也公開對外進(jìn)行收費服務(wù),已形成成熟的盈利模式。Amazon以云計算為基礎(chǔ)提供了一套租賃存儲和計算服務(wù)的平臺,包括彈性計算云EC2[11],基礎(chǔ)存儲架構(gòu)Dynamo,簡單存儲服務(wù)S3,簡單隊列服務(wù)SQS和簡單數(shù)據(jù)庫服務(wù)SimpleDB等。Google的大數(shù)據(jù)平臺包括分布式文件系統(tǒng)GFS,分布式計算框架MapReduce[12],分布式鎖機制Chubby和非結(jié)構(gòu)化數(shù)據(jù)庫BigTable[13]等。Google這套系統(tǒng)運行在百萬臺服務(wù)器上來為其龐大的搜索引擎服務(wù),處理的數(shù)據(jù)量達(dá)到PB級。大數(shù)據(jù)的處理技術(shù)已得到企業(yè)界的高度重視和應(yīng)用。
此后,基于Google云計算框架的開源實現(xiàn)Hadoop一經(jīng)提出,便吸引了大量的研究和開發(fā)人員的參與。經(jīng)數(shù)年的豐富和發(fā)展,Hadoop已成為了功能齊全且性能穩(wěn)定的開源大數(shù)據(jù)平臺框架。Hadoop是現(xiàn)在較為流行的分布式計算的框架,其為處理海量數(shù)據(jù),充分發(fā)揮集群的處理能力以及存儲能力提供了方案。如圖5所示,Hadoop的組成模塊有MapReduce、Hive、HBase、HDFS、Avro和Chukwa等,Hadoop[14-22]是本文中提到的大數(shù)據(jù)平臺。
HDFS的設(shè)計思想借鑒于Google的分布式文件系統(tǒng)GFS,是Hadoop整個系統(tǒng)構(gòu)架的基礎(chǔ)層,負(fù)責(zé)數(shù)據(jù)的存儲、管理,錯誤檢測和快速恢復(fù)。其不適合低延時的數(shù)據(jù)訪問和大量小文件的存儲及多用戶并發(fā)寫的情況。
Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并采用HQL(類SQL)語言對這些數(shù)據(jù)進(jìn)行自動化管理和處理,可將sql語句轉(zhuǎn)換為MapReduce任務(wù)并發(fā)執(zhí)行。
MapReduce技術(shù)是Google提出的一種并行計算模型通過采用“映射”(map)、“化簡”(reduce)等概念簡化分布式計算的程序設(shè)計,其方便了編程人員將程序運行在分布式系統(tǒng)中。
MapReduceHiveHBaseHDFSAvroChukwaZookeeperJDBCPig
圖5Hadoop的組成模塊
HBase是一個分布式的、面向列的開源數(shù)據(jù)庫,HBase不同于一般的關(guān)系數(shù)據(jù)庫,其是一個適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫;另一個不同則是HBase基于列的存儲模式。
隨著數(shù)據(jù)規(guī)模的不斷上升,傳統(tǒng)數(shù)據(jù)倉庫的局限性越來越明顯,在大數(shù)據(jù)環(huán)境下,大量的半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)的存在,使的數(shù)據(jù)庫設(shè)計者難以事先確定統(tǒng)一的數(shù)據(jù)模型;海量的數(shù)據(jù)需要并行化處理,而大部分的關(guān)系數(shù)據(jù)庫不支持大規(guī)模的分布式存儲;大數(shù)據(jù)處理需要較高的實時性,而關(guān)系數(shù)據(jù)庫Join在面對大數(shù)據(jù)集時效率低下;但其對于存儲、查詢和管理結(jié)構(gòu)化數(shù)據(jù),有強大功能,關(guān)系數(shù)據(jù)庫有許多成熟的工具,如圖形化的客戶端、基于ER模型的設(shè)計工具等。目前已有學(xué)者提出傳統(tǒng)數(shù)據(jù)倉庫與Hadoop大數(shù)據(jù)平臺協(xié)作模式[23-24],且通過實驗測試,該文在此基礎(chǔ)上提出改進(jìn)方法,如圖6所示。
圖6 傳統(tǒng)數(shù)據(jù)倉庫與大數(shù)據(jù)平臺
3.1數(shù)據(jù)倉庫與NoSQL的通信
3.1.1數(shù)據(jù)倉庫與Hive、HDFS間的數(shù)據(jù)交互
如圖6所示,數(shù)據(jù)倉庫與Hive[25]、HDFS之間的數(shù)據(jù)交互采用的是串行交互方式,基于JDBC的串行數(shù)據(jù)交互是利用JDBC創(chuàng)建與RDBMS的數(shù)據(jù)連接,然后讀取RDBMS的數(shù)據(jù)到服務(wù)器本地磁盤(充當(dāng)著服務(wù)器臨時文件)然后再上傳到HDFS文件系統(tǒng)和Hive數(shù)據(jù)庫中,或先將HDFS數(shù)據(jù)文件下載服務(wù)器本地磁盤然后再導(dǎo)入到RDBMS。若使用RDBMS與HDFS沒有在一個集群中,還需在RDBMS服務(wù)器和HDFS集群節(jié)點間拷貝數(shù)據(jù)。Hadoop的DB接口(Hadoop接口函數(shù))基于JDBC 實現(xiàn),包括:DBInputForma、DBOutputFormat、DBConfiguration和DBWritable,其中DBInputFormat用來實現(xiàn)輸入數(shù)據(jù)源是RDBM時的InputFormat,DBOutputFormat用來實現(xiàn)從HDFS 到RDBMS的并行導(dǎo)出的輸出格式,而其中DBConfiguration實現(xiàn) Hadoop與DB 的JDBC連接和參數(shù)配置,DBWritale實現(xiàn)Hadoop和DB數(shù)據(jù)傳輸時的數(shù)據(jù)序列化和反序列化。
3.1.2數(shù)據(jù)倉庫與HBase之間的數(shù)據(jù)交互
數(shù)據(jù)倉庫與HBase[26]的數(shù)據(jù)遷移中間件,本文主要講到數(shù)據(jù)關(guān)聯(lián)模塊,通過自定義MySQL和HBase數(shù)據(jù)存儲的規(guī)則,并創(chuàng)建數(shù)據(jù)表、寫數(shù)據(jù)、刪除數(shù)據(jù)表、刪除數(shù)據(jù)和數(shù)據(jù)遷移等操作都遵循這些自定義的規(guī)則,從而維護MySQL和 HBase之間數(shù)據(jù)關(guān)聯(lián)性和一致性。數(shù)據(jù)關(guān)聯(lián)模塊定義了HBase和MySQL數(shù)據(jù)存儲的規(guī)則:MySQL的數(shù)據(jù)庫對應(yīng)HBase的數(shù)據(jù)表和列族;MySQL的數(shù)據(jù)表對應(yīng)HBase連續(xù)的行數(shù)據(jù);MySQL的行、列對應(yīng)HBase的行、列;“MySQL表名+主鍵值”對應(yīng)HBase的行鍵值;“MySQL列名+列類型”對應(yīng)HBase的列名。如表1所示:其他模塊包括元數(shù)據(jù)管理、數(shù)據(jù)查詢、數(shù)據(jù)挖掘和分析模塊這里,數(shù)據(jù)倉庫的數(shù)據(jù)通常采用行存儲方式,Hive采用RCFile(行列存儲方式),HBase是列存儲,HDFS是基于塊存儲的。這里并未采用Sqoop遷移工具,因Sqoop命令行方式易出錯,格式緊耦合,無法支持所有數(shù)據(jù)類型,架構(gòu)復(fù)雜,配置部署繁瑣。
表1 MySQL與HBase存儲對應(yīng)的關(guān)聯(lián)規(guī)則
表2 集群軟件開發(fā)工具
表3 數(shù)據(jù)從MySQL傳入Hadoop的時間比較
3.2實驗結(jié)果
本次測試主要采用了基于 Hadoop 架構(gòu)的計算存儲集群。該集群由一個主(Master)節(jié)點,3個從(Slave)節(jié)點組成,所有節(jié)點均是基于X86架構(gòu)的PC機。操作系統(tǒng)為CentOS 5.5,軟件開發(fā)工具如圖8所示;數(shù)據(jù)存儲功能模塊分為結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)存儲兩塊,結(jié)構(gòu)化數(shù)據(jù)可存儲在傳統(tǒng)數(shù)據(jù)倉庫和Hadoop存儲平臺中,非結(jié)構(gòu)化數(shù)據(jù)存儲在Hadoop大數(shù)據(jù)平臺中;我們現(xiàn)在比較新的數(shù)據(jù)遷移方法在數(shù)據(jù)遷移速度方面比傳統(tǒng)的Sqoop遷移方法更快,有助于加快系統(tǒng)的查詢效率。結(jié)果如圖9所示,說明該文論述的遷移方法比Sqoop遷移方法在面對大量數(shù)據(jù)時遷移時間更短,更具優(yōu)勢。
4結(jié)束語
大數(shù)據(jù)的發(fā)展首先需要企業(yè)突破技術(shù)障礙,加快系統(tǒng)全面升級,不斷提高客戶資料管理的安全保護能力,加強賬號管理。優(yōu)化網(wǎng)絡(luò)運行環(huán)境,細(xì)分用戶業(yè)務(wù)領(lǐng)域,實現(xiàn)數(shù)據(jù)流量與網(wǎng)絡(luò)資源、用戶匹配。運營商可嘗試與第三方公司合作,在未明確需求的情況下,企業(yè)需要進(jìn)行深入的數(shù)據(jù)整理、分析和挖掘,成本通常較高,與第三方合作,共同承擔(dān)費用,挖掘第三方要求的商業(yè)數(shù)據(jù)可獲得更多的利潤。
借助互聯(lián)網(wǎng)、融合大數(shù)據(jù)與云計算,建立數(shù)據(jù)增值商業(yè)模式,通過企業(yè)間的競爭、收購整合與不斷創(chuàng)新,使軟硬件更新?lián)Q代速度加快,更好地滿足客戶需求。
參考文獻(xiàn)
[1]李國杰,程學(xué)旗.大數(shù)據(jù)研究:未來科技及經(jīng)濟社會發(fā)展的重大戰(zhàn)略領(lǐng)域—大數(shù)據(jù)的研究現(xiàn)狀與科學(xué)思考[J].中國科學(xué)院院刊,2012,27(6):647-657.
[2]趙國棟,易歡歡,糜萬軍,等.大數(shù)據(jù)時代的歷史機遇—產(chǎn)業(yè)變革與數(shù)據(jù)科學(xué)[M].北京:清華大學(xué)出版社,2013.
[3]鄧維維,彭宏,鄭啟倫.基于數(shù)據(jù)流的移動數(shù)據(jù)挖掘研究綜述[J].計算機應(yīng)用研究,2007,24(1):5-9.
[4]劉偉,孟小峰,凌妍妍.一種基于圖模型的Web數(shù)據(jù)庫采樣方法[J].軟件學(xué)報,2008,19(2):179-193.
[5]鄧維維,彭宏,鄭啟倫.基于數(shù)據(jù)流的移動數(shù)據(jù)挖掘研究綜述[J].計算機應(yīng)用研究,2007,24(1):5-9.
[6]Tan W C.Provenance in database:past,current,and future[J].IEEE Data Engineering Bulletin,2007,30(4):3-12.
[7]Mchugh J,Abiteboul S,Goldman R,et al.Lore:A database management system for semistructured data[J].ACM SIGMOD Record,1997,26(3):54-66.
[8]He Yongqiang,Lee Rubao,Huai Yin,et al.A fast and space-efficient data placement structure in MapReduce-basd warehouse systems[C].Hannover,Germany:Proceedngs of the 2011 IEEE 27th International Conference on Data Engineering(ICDE),2011.
[9]Hinton G,Osindero S,Teh Y W.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[10]Viegas F B,Wattenberg M.Tag clouds and the case for vernacular visualization[J].Interactions,2008,15(4):49-52.
[11]Fay Chang,Jeffrey Dean,Sanjay Ghemawat,et al.Bigtable:a distributed storage system for structured data[J].ACM Transactions on Computer Systems,2006,26(2):100-201.
[12]Sanjay Ghemawat,Howard Gobioff,Shun-Tak Leung.The Google file system[C].Proceedings of 19th ACM Symposium on Operating Systems Principles,2003:29-43.
[13]王元卓,靳小龍,程學(xué)旗.網(wǎng)絡(luò)大數(shù)據(jù):現(xiàn)狀與展望[J].計算機學(xué)報,2013,23(6):1125-1138.
[14]程瑩,張云勇,徐雷,等.基于Hadoop及關(guān)系型數(shù)據(jù)庫的海量數(shù)據(jù)分析研究[J].電信科學(xué),2010(11):47-50.
[15]張寧,賈自艷,史忠植.數(shù)據(jù)倉庫中ETL技術(shù)的研究[J].計算機工程與應(yīng)用,2002,38(24):213-216.
[16]楊曉,任清珍,蘇靈.數(shù)據(jù)倉庫、數(shù)據(jù)集市和數(shù)據(jù)挖掘[J].現(xiàn)代計算機:下半月版,1998(1):14,16.
[17]張英朝,鄧蘇,張維明.數(shù)據(jù)倉庫元數(shù)據(jù)管理研究[J].計算機工程,2003,29(1):8-10.
[18]蘇新寧.數(shù)據(jù)倉庫和數(shù)據(jù)挖掘[M].北京:清華大學(xué)出版社,2006.
[19]王琳,商周,王學(xué)偉.數(shù)據(jù)采集系統(tǒng)的發(fā)展與應(yīng)用[J].電測與儀表,2004,41(8):4-8.
[20]NukarapuD T,Wang L Q,Lu S Y.Data replication in data intensive scientific applications with performance guarantee[J].IEEE Transactions on Parallel andDistributed Systems,2011,22(8):1299-1306.
[21]林偉偉,劉波.基于動態(tài)帶寬分配的Hadoop數(shù)據(jù)負(fù)載均衡方法[J].華南理工大學(xué)學(xué)報:自然科學(xué)版,2012,40(9):42-47.
[22]劉琨,肖琳,趙海燕.Hadoop中云數(shù)據(jù)負(fù)載均衡算法的研究及優(yōu)化[J].微電子學(xué)與計算機,2012,29(9):18-22.
[23]費仕億.Hadoop大數(shù)據(jù)平臺與傳統(tǒng)數(shù)據(jù)倉庫的協(xié)作研究[D].上海:東華大學(xué),2014.
[24]楊萌萌.基于HDFS的結(jié)構(gòu)化數(shù)據(jù)存儲和查詢方法研究[D].濟南:山東大學(xué),2014.
[25]Dewitt D J,Gray J.Parallel database systems:the future of high performance database systems[J].CACM,1992,35(6):85-98.
[26]Abadi D J.Data management in the cloud:limitations and opportunities[J].IEEE Data Engineering Bull,2009,32(1):3-12.