魏丞昊,黃哲學,何玉林
深圳大學計算機與軟件學院大數(shù)據(jù)技術與應用研究所,廣東深圳 518060
大數(shù)據(jù)分析的重要挑戰(zhàn)之一是如何在一定的計算資源條件下、在可接受時間范圍內實現(xiàn)大數(shù)據(jù)的可計算化[1].分而治之是處理大數(shù)據(jù)計算的主要策略,即通過將大數(shù)據(jù)劃分為若干小數(shù)據(jù)塊文件分布式存儲在集群節(jié)點上.在對大數(shù)據(jù)分析時,通過融合所有數(shù)據(jù)塊并行分析結果來達到對全量大數(shù)據(jù)挖掘和學習的目的[2].Hadoop分布式文件系統(tǒng)(Hadoop distributed file system,HDFS)[3]主要實現(xiàn)大數(shù)據(jù)的劃分存儲和數(shù)據(jù)塊文件的管理.Spark采用彈性分布式數(shù)據(jù)集(resilient distributed datasets, RDD)內存數(shù)據(jù)結構將大數(shù)據(jù)分布式讀入節(jié)點內存中計算,避免了MapReduce[4]反復地讀寫磁盤,極大地提高了算法的運行效率[5].但當數(shù)據(jù)量超出集群的最大內存容量時,Spark算法的執(zhí)行效率將大大降低,甚至無法運行[6-7].因此,內存資源成為Tbyte級以上大數(shù)據(jù)的深度分析、挖掘和建模的瓶頸.
通過合適數(shù)據(jù)劃分的方法,使得大數(shù)據(jù)分布式存儲的數(shù)據(jù)塊可直接作為全量數(shù)據(jù)的隨機樣本來使用,減少了大數(shù)據(jù)分析與建模對內存的約束.但是,當前的分布式文件系統(tǒng)的數(shù)據(jù)塊文件不能被當作大數(shù)據(jù)的隨機樣本使用,因此本研究在圖1的Bigdata-α系統(tǒng)中,提出基于隨機樣本劃分的分布式存儲模型和基于逼近式的學習框架.
圖1 Bigdata-α框架Fig.1 Bigdata-α framework
定義1隨機樣本塊. 若D={x1,x2,…,xn}是一個大數(shù)據(jù)集的樣本集合,F(x)是D的分布函數(shù) (sample distribution function).設T完成對D的某種任意劃分,則有T={D1,D2, …,DK}, 若T中有
E(Fk(x))=F(x),k=1, 2, …,K
(1)
其中,F(xiàn)(x)為Dk的樣本分布函數(shù);E(Fk(x))表示其期望值.滿足這樣條件下的Dk是D的一個隨機樣本塊.生成隨機樣本塊的算法實現(xiàn)程序的代碼請掃描文后二維碼.
本研究實驗使用包含50個計算節(jié)點的集群,每個節(jié)點配置為24核CPU、128 Gbyte內存和12.5 Tbyte外存,HDFS最大支持128 Mbyte的切分數(shù)據(jù)塊.圖2為基于Spark模擬正態(tài)分布的1 Tbyte數(shù)據(jù)集(1億條樣本記錄、每條記錄包含100個特征值)被劃分成1萬個隨機樣本數(shù)據(jù)塊后相應的樣本分布情況.圖中顯示了隨機挑選4個數(shù)據(jù)塊的樣本分布與總體樣本分布具有一致性,證明了本研究理論的有效性.正是這種一致性保障了通過隨機樣本數(shù)據(jù)塊所構建的大數(shù)據(jù)學習模型的無偏性和收斂性.
圖2 大數(shù)據(jù)劃分后一個樣本特征分布Fig.2 Sample distribution after big data partition
圖3給出了逼近式集成學習框架利用一致同分布數(shù)據(jù)塊對Higgs數(shù)據(jù)集分類模型優(yōu)化的過程.由圖3可見,隨著數(shù)據(jù)塊的增加,集成學習模型的精度會逐漸收斂,其中虛線為基于大數(shù)據(jù)總體學習到的單個模型的分類精度.當分析數(shù)據(jù)量達到整體的15%后,分析精度基本與整體數(shù)據(jù)分析持平的同時,數(shù)據(jù)量顯示只需使用10%的數(shù)據(jù)分析結果就可達到使用90%數(shù)據(jù)量的整體分析精度.
以大數(shù)據(jù)“隨機樣本劃分”思想為出發(fā)點,提出基于統(tǒng)計感知的Tbyte級大數(shù)據(jù)系統(tǒng)計算框架Bigdata-α.不同于現(xiàn)有的Hadoop分布式文件系統(tǒng)HDFS,Bigdata-α保證了劃分數(shù)據(jù)塊與大數(shù)據(jù)總體分布的一致性.盡管單個子塊存在統(tǒng)計偏差,但是多個子塊的集成會逼近原始數(shù)據(jù)集的統(tǒng)計特性最終實現(xiàn)了對Tbit級大數(shù)據(jù)的無偏收斂學習.Bigdata-α實現(xiàn)了大數(shù)據(jù)在計算、統(tǒng)計、優(yōu)化及應用4方面的統(tǒng)一.Bigdata-α具有處理流式數(shù)據(jù)的能力,對于與大數(shù)據(jù)總體分布一致的新增數(shù)據(jù),將其直接視為大數(shù)據(jù)的隨機樣本數(shù)據(jù)塊;對于分布不一致的新增數(shù)據(jù),對其進行隨機打亂,重構新的大數(shù)據(jù)隨機樣本劃分.
致謝:衷心感謝深圳大學張曉亮博士的耐心指導.