大數(shù)據(jù)時代的到來,我們?nèi)绾慰焖俚貜倪@些海量數(shù)據(jù)中抽取出關鍵的信息做好大數(shù)據(jù)分析,為企業(yè)和個人帶來價值,是各界關注的焦點.下面為大家介紹一些大數(shù)據(jù)分析處理方法,幫助學員們更好的大數(shù)據(jù)培訓學習。
(1)BloomFilter:布隆過濾器其實質(zhì)是一個位數(shù)組和一系列Hash函數(shù).
布隆過濾器的原理是利用位數(shù)組存儲數(shù)據(jù)的Hash值而不是數(shù)據(jù)本身,其本質(zhì)是利用Hash函數(shù)對數(shù)據(jù)進行有損壓縮存儲的位圖索引.其優(yōu)點是具有較高的空間效率和查詢速率,缺點是有一定的誤識別率和刪除困難.布隆過濾器適用于允許低誤識別率的大數(shù)據(jù)場合.
(2)Hashing:散列法,也叫做Hash法其本質(zhì)是將數(shù)據(jù)轉化為長度更短的定長的數(shù)值或索引值的方法.
這種方法的優(yōu)點是具有快速的讀寫和查詢速度,缺點是難以找到一個良好的Hash函數(shù).
(3)索引:無論是在管理結構化數(shù)據(jù)的傳統(tǒng)關系數(shù)據(jù)庫,還是管理半結構化和非結構化數(shù)據(jù)的技術中,索引都是一個減少磁盤讀寫開銷?提高增刪改查速率的有效方法.
索引的缺陷在于需要額外的開銷存儲索引文件,且需要根據(jù)數(shù)據(jù)的更新而動態(tài)維護.
(4)Trie樹:又稱為字典樹,是Hash樹的變種形式,多被用于快速檢索,和詞頻統(tǒng)計.
Trie樹的思想是利用字符串的公共前綴,最大限度地減少字符串的比較,提高查詢效率.
(5)并行計算:相對于傳統(tǒng)的串行計算,并行計算是指同時使用多個計算資源完成運算.
其基本思想是將問題進行分解,由若干個獨立的處理器完成各自的任務,以達到協(xié)同處理的目的.目前,比較典型的并行計算模型有MPI(messagepassinginterface),MapReduce,Dryad等.
傳統(tǒng)數(shù)據(jù)分析方法,大多數(shù)都是通過對原始數(shù)據(jù)集進行抽樣或者過濾,然后對數(shù)據(jù)樣本進行分析,尋找特征和規(guī)律,其最大的特點是通過復雜的算法從有限的樣本空間中獲取盡可能多的信息.
隨著計算能力和存儲能力的提升,大數(shù)據(jù)分析學習傳統(tǒng)分析方法的最大區(qū)別在于分析的對象是全體數(shù)據(jù),而不是數(shù)據(jù)樣本,其最大的特點在于不追求算法的復雜性和精確性,而追求可以高效地對整個數(shù)據(jù)集的分析.總之,傳統(tǒng)數(shù)據(jù)方法力求通過復雜算法從有限的數(shù)據(jù)集中獲取信息,其更加追求準確性;大數(shù)據(jù)分析方法則是通過高效的算法?模式,對全體數(shù)據(jù)進行分析.大數(shù)據(jù)分析模式由于大數(shù)據(jù)來源廣泛,種類繁多,結構多樣且應用于眾多不同領域,所以針對不同業(yè)務需求的大數(shù)據(jù),應采用不同的分析模式.
(1)根據(jù)實時性,可分為實時分析和離線分析實時分析,多用于電子商務?金融等領域.
由于數(shù)據(jù)瞬息萬變,因此需要及時的大數(shù)據(jù)分析工具,在極短的時間能返回分析結果.目前,實時分析的主要模式是采用傳統(tǒng)關系型數(shù)據(jù)庫組成并行處理集群,并大多采用了內(nèi)存計算平臺.EMC的Greenplum?SAP的HANA等,都是進行實時分析的工具.離線分析,往往用于對結果反饋時間要求不高的場合,比如機器學習?統(tǒng)計分析?推薦算法等.離線分析一般是通過數(shù)據(jù)采集工具將日志大數(shù)據(jù)導入專用的平臺進行分析.在大數(shù)據(jù)環(huán)境下,為了降低數(shù)據(jù)格式轉化的開銷,提高數(shù)據(jù)采集的效率,很多互聯(lián)網(wǎng)企業(yè)都采用基于Hadoop的離線分析模式.例如,Facebook開源的Scribe?LinkedIn開源的Kafka?淘寶開源的Timetunnel?Hadoop的Chukwa等,均可以滿足每秒數(shù)百MB的日志數(shù)據(jù)采集和傳輸需求.
(2)根據(jù)數(shù)據(jù)規(guī)模,可分為內(nèi)存級?BI級和海量級內(nèi)存級分析,是指數(shù)據(jù)總量不超過集群內(nèi)存的最大值.
目前的服務器集群的內(nèi)存超過幾百GB,甚至達到TB級別都是很常見的,因此可以采用內(nèi)存數(shù)據(jù)庫技術,將熱點數(shù)據(jù)常駐內(nèi)存,從而達到提高分析效率的目的.內(nèi)存級分析非常適用于實時分析業(yè)務.目前,MongoDB是比較有代表性的內(nèi)存級分析模式.隨著固態(tài)硬盤(solid-statedrive,SSD)的發(fā)展,內(nèi)存級數(shù)據(jù)分析的能力和性能將會得到進一步的提升,其應用也越來越廣泛.BI級分析,是指數(shù)據(jù)規(guī)模超出了內(nèi)存級,但是又可以導入BI分析環(huán)境下進行分析,目前主流的BI產(chǎn)品都有支持TB級以上的數(shù)據(jù)分析方案.海量級分析,是指數(shù)據(jù)規(guī)模已經(jīng)完全超出BI產(chǎn)品以及傳統(tǒng)關系型數(shù)據(jù)庫的能力.目前,大多數(shù)的海量級分析都是采用Hadoop的HDFS分布式文件系統(tǒng)來存儲數(shù)據(jù),并使用MapReduce進行分析.海量級分析基本也都屬于離線分析.