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