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