王理++鄭春光
摘 要隨著開源大數(shù)據(jù)技術(shù)的快速發(fā)展,許多新的大數(shù)據(jù)技術(shù)的得到商用,大數(shù)據(jù)計(jì)算模型更是發(fā)展迅速。傳統(tǒng)認(rèn)為,大數(shù)據(jù)具有3V特性,即Volume(海量)、Velocity(高速)和Variety(多樣),同時(shí)大數(shù)據(jù)還面臨Value(價(jià)值)和Veracity(精確)的挑戰(zhàn)。如何客觀地比較不同數(shù)據(jù)計(jì)算模型效率,即大數(shù)據(jù)測(cè)試基準(zhǔn)的選擇,成為一個(gè)重要的研究課題。事務(wù)性能管理委員會(huì)(TPC)是目前最知名的數(shù)據(jù)管理系統(tǒng)評(píng)測(cè)基準(zhǔn)標(biāo)準(zhǔn)化組織他們發(fā)布的多款基準(zhǔn)測(cè)試案例,在業(yè)內(nèi)具有很高的認(rèn)可度。Apache開源社區(qū)針對(duì)大數(shù)據(jù)架構(gòu)也發(fā)布了多款性能測(cè)試用例,如TestDFSIO、TeraSort。為了提出一種準(zhǔn)確驗(yàn)證大數(shù)據(jù)計(jì)算模型效率的方法,本文將在分析總結(jié)現(xiàn)有成果的基礎(chǔ)上,進(jìn)一步對(duì)比現(xiàn)有的大數(shù)據(jù)測(cè)試基準(zhǔn),然后重點(diǎn)討論TPC-DS測(cè)試基準(zhǔn)和BigBench測(cè)試。本文提出的方法,能夠準(zhǔn)確的驗(yàn)證大數(shù)據(jù)計(jì)算模型效率。
【關(guān)鍵詞】大數(shù)據(jù) 開源 基準(zhǔn)測(cè)試 計(jì)算模型
大數(shù)據(jù)技術(shù)給傳統(tǒng)計(jì)算機(jī)技術(shù)帶來了很大的沖擊,處理問題的原理和技術(shù)都有別于傳統(tǒng)技術(shù),尤其是互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)呈現(xiàn)非結(jié)構(gòu)化、動(dòng)態(tài)、海量、實(shí)時(shí)性強(qiáng)等特點(diǎn),因此在獲取、存儲(chǔ)、處理、展示數(shù)據(jù)方面都跟以往有很大不同。某大型互聯(lián)網(wǎng)公司的信息化建設(shè)則是個(gè)例子,在其建設(shè)初期未考慮到數(shù)據(jù)的爆發(fā)式增長(zhǎng),采用傳統(tǒng)信息化架構(gòu)進(jìn)行建設(shè),當(dāng)業(yè)務(wù)逐年增加,原架構(gòu)已經(jīng)無法存儲(chǔ)如此多的數(shù)據(jù),進(jìn)行平臺(tái)擴(kuò)容成本相當(dāng)昂貴,且存在數(shù)據(jù)丟失風(fēng)險(xiǎn),更重要的是基于海量數(shù)據(jù)無法做出實(shí)時(shí)商業(yè)分析,傳統(tǒng)計(jì)算方法在處理TB級(jí)數(shù)據(jù)時(shí)游刃有余,但是當(dāng)數(shù)據(jù)量達(dá)到PB級(jí)別,系統(tǒng)經(jīng)常無法做出響應(yīng)。本研究基于當(dāng)下流行的大數(shù)據(jù)計(jì)算框架和國(guó)際公認(rèn)的測(cè)試標(biāo)準(zhǔn),選取一個(gè)具有代表性的案例,提供一套檢測(cè)方案,該方案能夠驗(yàn)證計(jì)算框架的效率,為計(jì)算框架選型提供解決之道。
1 基準(zhǔn)案例選取
進(jìn)行大數(shù)據(jù)計(jì)算模型效率檢測(cè)應(yīng)當(dāng)分為兩個(gè)方面,一個(gè)是Hadoop平臺(tái)的測(cè)試,這個(gè)需要TestDFSIO和TeraSort,另一個(gè)是依賴于Hadoop的計(jì)算模型測(cè)試,如Spark,Hive等,這個(gè)需要TPC-DS和BigBench,一般來說Hadoop平臺(tái)測(cè)試時(shí)必須的,計(jì)算模型的測(cè)試需要根據(jù)具體業(yè)務(wù)進(jìn)行選擇,但是一般Hive和Spark都是必須的,上述兩個(gè)方面的測(cè)試基本覆蓋了大數(shù)據(jù)環(huán)境的所有指標(biāo),因此本文將針對(duì)這兩個(gè)方面,全面進(jìn)行大數(shù)據(jù)平臺(tái)數(shù)據(jù)模型計(jì)算效率測(cè)試。
TPC-DS由星型、雪花型等多維數(shù)據(jù)模式組成。它包含了17張緯度表,7張事實(shí)表。在運(yùn)行過程中由99個(gè)SQL查詢組成,基本涵蓋了SQL99和2003的核心部分和OLAP。該測(cè)試案例支持對(duì)大數(shù)據(jù)集的統(tǒng)計(jì)、聯(lián)機(jī)查詢、報(bào)表生成、數(shù)據(jù)挖掘等復(fù)雜應(yīng)用,測(cè)試用的數(shù)據(jù)和值是有傾斜的,保持和真實(shí)數(shù)據(jù)一致性。因此TPC-DS是與真實(shí)場(chǎng)景極其類似的測(cè)試集,當(dāng)然該測(cè)試案例的難度也很大。Hadoop等大數(shù)據(jù)分析技術(shù)也是對(duì)海量數(shù)據(jù)進(jìn)行大規(guī)模的數(shù)據(jù)分析和深度挖掘,也包含交互式聯(lián)機(jī)查詢和統(tǒng)計(jì)報(bào)表類應(yīng)用,同時(shí)大數(shù)據(jù)的數(shù)據(jù)質(zhì)量也較低,數(shù)據(jù)分布是真實(shí)而不均勻的。因此TPC-DS成為客觀衡量多個(gè)不同Hadoop版本以及SQL on Hadoop技術(shù)的最佳測(cè)試集。
TestDFSIO、TeraSort能夠?qū)apReduce進(jìn)行穩(wěn)定性和效率測(cè)試,這是Apache為Hadoop專門開發(fā)的測(cè)試案例,這些案例已經(jīng)在業(yè)內(nèi)得到認(rèn)可。
選取測(cè)試案例完成后,應(yīng)當(dāng)進(jìn)行大數(shù)據(jù)環(huán)境的搭建,基于當(dāng)前業(yè)務(wù)場(chǎng)景需求,搭建類似或同比例的實(shí)驗(yàn)環(huán)境是非常重要的,這為將來進(jìn)行產(chǎn)業(yè)化提供方便,真實(shí)的場(chǎng)景和真實(shí)的基準(zhǔn)案例,滿足這兩個(gè)條件效率研究才具有科學(xué)性。在軟件方面,選用開源的Hadoop平臺(tái)作為基本軟件,其余各發(fā)行版進(jìn)行對(duì)比。
本文提供的一套軟硬件方案,能夠迅速準(zhǔn)確的驗(yàn)證數(shù)據(jù)模型計(jì)算效率。該方法通過兩套基準(zhǔn)測(cè)試案例,綜合對(duì)比,能夠幫助客戶在計(jì)算選型上做出決策,為后續(xù)業(yè)務(wù)開展提供可靠地保障。
2 測(cè)試方法
基于上述描述,為了驗(yàn)證該方法,首先需要搭建大數(shù)據(jù)環(huán)境,包括:
(1)準(zhǔn)備千兆交換機(jī)一臺(tái),4臺(tái)服務(wù)器構(gòu)成1+3的Hadoop集群,其中一臺(tái)Namenode,3臺(tái)Datanode。
(2)部署Hadoop,HBase,Spark等計(jì)算模型。
(3)在集群上分別運(yùn)行TestDFSIO、TeraSort、TPC-DS和BigBench基準(zhǔn)測(cè)試。
(4)在3臺(tái)datanode上運(yùn)行nmon,實(shí)時(shí)統(tǒng)計(jì)3臺(tái)服務(wù)器的資源消耗情況,關(guān)注CPU利用率、網(wǎng)絡(luò)吞吐率、硬盤IO以及磁盤空間消耗等指標(biāo),將每個(gè)測(cè)試案例的時(shí)間記錄下來。
除此之外,應(yīng)當(dāng)保證當(dāng)測(cè)試不同計(jì)算模型效率時(shí),不能修改集群參數(shù)例如內(nèi)存大小、Map/Reduce數(shù)量等;保持原集群的原狀態(tài)例如節(jié)點(diǎn)個(gè)數(shù),節(jié)點(diǎn)角色分配等;物理配置的一致性,例如網(wǎng)絡(luò)條件、存儲(chǔ)大小等。
分析計(jì)算模型效率有兩個(gè)維度,一個(gè)是穩(wěn)定性,在所有的測(cè)試案例中,可以分析每個(gè)計(jì)算模型能夠得出結(jié)果的案例個(gè)數(shù),這樣可以得到該計(jì)算模型的覆蓋面。另一個(gè)是計(jì)算效率,在處理同一個(gè)案例時(shí),每個(gè)框架的計(jì)算時(shí)間。目前大數(shù)據(jù)計(jì)算框架較多,沒有一個(gè)完美的框架,需要根據(jù)具體業(yè)務(wù)進(jìn)行選擇,在穩(wěn)定性和計(jì)算效率之間選擇一個(gè),同時(shí)也可以在一個(gè)業(yè)務(wù)上并行多個(gè)計(jì)算框架,針對(duì)不同的業(yè)務(wù)選擇不同框架,這些也是在實(shí)踐中常用的方法。
3 結(jié)論
本文基于當(dāng)前流行的大數(shù)據(jù)計(jì)算框架,提出了一套完善的計(jì)算模型效率測(cè)試方法:根據(jù)業(yè)務(wù)選擇測(cè)試基準(zhǔn)案例,定義測(cè)試方向,在此基礎(chǔ)上搭建硬件環(huán)境,選擇最合適的一種或幾種計(jì)算模型,這要綜合考慮穩(wěn)定性和效率。針對(duì)不同業(yè)務(wù)可以同時(shí)運(yùn)行多個(gè)計(jì)算模型,甚至一個(gè)業(yè)務(wù)可以通過幾個(gè)計(jì)算模型進(jìn)行服務(wù)。這套完善的選擇方法能夠使大數(shù)據(jù)環(huán)境下計(jì)算模型的效率選擇變得更加簡(jiǎn)單準(zhǔn)確。
作者簡(jiǎn)介
王理(1989-),女,山東省濟(jì)南市人。碩士學(xué)位?,F(xiàn)為山東商業(yè)職業(yè)技術(shù)學(xué)院助教。主要研究方向?yàn)閭€(gè)性化推薦算法。
作者單位
山東商業(yè)職業(yè)技術(shù)學(xué)院 山東省濟(jì)南市 250103