宋文強
摘要:無共享架構的計算機集群是大數(shù)據(jù)處理和分析的主要計算平臺。在集群計算中,數(shù)據(jù)分區(qū)和采樣是加快大數(shù)據(jù)計算和增加可伸縮性的兩種基本策略。在本文中,我們對大數(shù)據(jù)處理和分析方面的數(shù)據(jù)分區(qū)和采樣的方法和技術進行了全面的概述。另外,還總結(jié)了Hadoop集群上基于采樣的近似方法的流行策略和相關工作。本文認為,應將數(shù)據(jù)分區(qū)和采樣一起考慮,以建立在計算和統(tǒng)計方面均可靠的近似群集計算框架。
關鍵詞:大數(shù)據(jù);數(shù)據(jù)分區(qū);方法研究
中圖分類號:TP311.13?? 文獻標識碼:A?? 文章編號:1672-9129(2020)16-0045-01
1 介紹
現(xiàn)如今,大量數(shù)據(jù)正在源源不斷地從商業(yè)交易,計算機模擬,移動設備,傳感器,衛(wèi)星,社交媒體等中生成。大量的數(shù)據(jù)可用于生成高價值的信息,用于決策支持,預測,商業(yè)智能,數(shù)據(jù)密集型科學的研究以及其他應用領域。傳統(tǒng)技術,例如基于數(shù)據(jù)庫和基于結(jié)構化查詢語言(SQL)的關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),對于處理如此龐大和復雜的大數(shù)據(jù)已變得不切實際。很難或不可能使用一臺機器來分析TB級數(shù)據(jù)集,因此可伸縮的分布式計算架構已成為大數(shù)據(jù)分析框架的常見設計選擇。在這些框架中,數(shù)據(jù)分區(qū)和采樣是橫向擴展和加速大數(shù)據(jù)分析算法的兩種基本策略。本文提供的調(diào)查簡要概述了支持Hadoop集群上的大數(shù)據(jù)分析的最常用的分區(qū)和采樣方法。
“大數(shù)據(jù)”是當數(shù)據(jù)本身的大小成為問題的一部分時使用的標簽。在計算集群上進行大數(shù)據(jù)分析的常見策略是分而治之。MapReduce計算模型用于在主流的大數(shù)據(jù)分析框架(例如Apache Hadoop和Apache Spark)中應用此策略。這些框架實現(xiàn)了無共享架構,其中每個節(jié)點在數(shù)據(jù)和資源上都是獨立的。在Hadoop群集上,Hadoop分布式文件系統(tǒng)(HDFS)將大數(shù)據(jù)文件組織和復制為小型分布式數(shù)據(jù)塊。研究表明,當數(shù)據(jù)大小足夠大時,隨著群集中計算資源的增加,基于分布式數(shù)據(jù)塊的并行化會導致線性加速。實際上,可以通過向計算集群添加更多計算機來輕松擴展集群計算框架。但是,數(shù)據(jù)的增長速度可能會很快超過可用資源。
2 大數(shù)據(jù)框架
2.1大數(shù)據(jù)分析的集群計算概述。為了應對各種不同應用領域中不斷增長的數(shù)據(jù)量,無共享架構的集群計算已成為構建大數(shù)據(jù)分析框架的常見范例。在無共享架構中,計算集群中的每個節(jié)點在數(shù)據(jù)和計算方面都是獨立的。MapReduce計算模型是主流大數(shù)據(jù)分析框架中的基礎模型。大數(shù)據(jù)文件被劃分為小的非重疊數(shù)據(jù)塊,并通過HDFS分布在計算集群的節(jié)點上。然后,使用具有兩個常規(guī)操作的并行,分布式算法處理這些塊:Map和Reduce。Map操作獨立處理分布式數(shù)據(jù)塊,而Reduce操作將Map結(jié)果積分以生成整個數(shù)據(jù)集的全局結(jié)果。
大數(shù)據(jù)技術包括分布式文件系統(tǒng),分布式計算系統(tǒng)和大規(guī)模并行處理(MPP)系統(tǒng)。分布式文件系統(tǒng),例如谷歌文件系統(tǒng)(GFS),HDFS和Microsoft Cosmos,提供了可伸縮且容錯的存儲解決方案。這些框架的最新進展(例如MapReduce,Hadoop和Cosmos / Dryad)簡化了大規(guī)模和分布式數(shù)據(jù)密集型應用程序的開發(fā)。此外,已經(jīng)提出了高級編程語言和概念數(shù)據(jù)模型。
基于Hadoop的計算集群已成為各種不同應用領域中大數(shù)據(jù)管理和分析的規(guī)范。Apache Hadoop和Apache Spark是在學術界和工業(yè)界使用最廣泛的兩個大數(shù)據(jù)分析框架。接下來,在討論大數(shù)據(jù)分區(qū)和采樣之前,我們將對這兩個框架進行簡要描述。
2.2 Apache Hadoop。Apache Hadoop是最完善的平臺之一,支持海量數(shù)據(jù)的分布式和并行處理。它提供了一種通用的分區(qū)機制,可以使用MapReduce計算模型在不同的計算機之間分配聚合工作負載。它是一個多用途引擎,但由于其實現(xiàn)中的高吞吐量延遲,因此不是實時高性能引擎。Hadoop平臺包含Hadoop內(nèi)核,Hadoop MapReduce,HDFS,資源管理器(YARN)和許多項目(例如,Hive和HBase)。Hadoop MapReduce框架為處理大量分布式數(shù)據(jù)集提供了一種高效且可靠的編程環(huán)境。
2.3 Apache Spark。Apache Spark 是另一個開源的大規(guī)模數(shù)據(jù)處理框架。Spark引入了核心抽象,彈性分布式數(shù)據(jù)集(RDD),用于分布式內(nèi)存中數(shù)據(jù)并行計算。彈性分布式數(shù)據(jù)集是在集群中的一組節(jié)點上分布或劃分的元素(對象)的只讀,不變且容錯的集合。彈性分布式數(shù)據(jù)集支持兩種類型的操作:轉(zhuǎn)換和動作。動作(例如map()和filt())是確定性的,但是懶惰的操作定義了新的RDD,而沒有立即對其進行計算。另一方面,動作(例如reduce(),count()和collect())在彈性分布式數(shù)據(jù)集上啟動計算,然后將輸出返回到驅(qū)動程序或?qū)⑵浯鎯υ诔志么鎯ο到y(tǒng)中。
3 大數(shù)據(jù)分析的近似集群計算
近似計算已成為應付計算集群上不斷增長的數(shù)據(jù)量的常見且必要的范例。數(shù)據(jù)呈指數(shù)級增長,甚至比摩爾定律預測的計算能力還要快。如今,現(xiàn)代服務使用大數(shù)據(jù)分析系統(tǒng)來挖掘和提取數(shù)據(jù)中有價值的模式和趨勢。處理這些數(shù)據(jù)非常昂貴。近年來,近似計算已成為減少大數(shù)據(jù)分析框架的計算資源使用,處理時間甚至能耗的有效的解決方案。與傳統(tǒng)計算不同,近似計算是在較小的數(shù)據(jù)概要而不是整個數(shù)據(jù)集上進行的。許多數(shù)據(jù)算法可滿足一個近似結(jié)果,而不是一個精確結(jié)果。
由于數(shù)字數(shù)據(jù)的增長快于計算能力的增長,因此近似計算已成為具有交互式響應時間的大數(shù)據(jù)分析的一項必不可少的技術。有時將近似計算與增量計算結(jié)合使用,在增量計算中,將對數(shù)據(jù)進行增量處理并相應地更新結(jié)果。此技術也稱為增量近似計算。
在數(shù)據(jù)庫中提出了各種各樣的近似技術來進行近似查詢處理,包括采樣,草圖繪制,直方圖和在線聚集。這些技術最近已擴展到計算集群上的大數(shù)據(jù)。
4 總結(jié)
通過提高計算集群上大數(shù)據(jù)分析算法的可伸縮性,可管理性和性能,數(shù)據(jù)分區(qū)和采樣可以帶來巨大的好處。本文對大數(shù)據(jù)分析的分區(qū)和抽樣技術進行了綜述。盡管在計算群集上采用了關鍵的經(jīng)典分區(qū)方案,但基于采樣的新分區(qū)模型已成為提高可伸縮性的基礎。此外,這對于保證所選樣品的質(zhì)量以及產(chǎn)生更準確的近似結(jié)果至關重要。
參考文獻:
[1]劉張榕.基于大數(shù)據(jù)的半分布式僵尸網(wǎng)絡動態(tài)抑制算法[J].計算機與現(xiàn)代化,2020(08):109-113.
[2]向鴻鑫,楊云.不平衡數(shù)據(jù)挖掘方法綜述[J].計算機工程與應用,2019,55(04):1-16.
[3]袁喆,文繼榮,魏哲巍,劉家俊,姚斌,鄭凱.大數(shù)據(jù)實時交互式分析[J].軟件學報,2020,31(01):162-182.
[4]王龍暉. 基于并行計算的調(diào)節(jié)閥大數(shù)據(jù)智能分析及建模方法研究[D].山東大學,2019.