專(zhuān)訪(fǎng)淘寶明風(fēng):如何構(gòu)建高性能的數(shù)據(jù)挖掘平臺(tái)?
原創(chuàng)【51CTO專(zhuān)稿】淘寶是一家擁有海量數(shù)據(jù)的公司,對(duì)于數(shù)據(jù)挖掘來(lái)說(shuō),海量數(shù)據(jù)本身具有噪聲、異構(gòu)、算法復(fù)雜、技術(shù)復(fù)雜等問(wèn)題,如何構(gòu)建高性能的數(shù)據(jù)挖掘平臺(tái),對(duì)于淘寶而言非常重要。近年來(lái),淘寶在數(shù)據(jù)實(shí)時(shí)性和大規(guī)模計(jì)算及挖掘方面積累了很多實(shí)踐經(jīng)驗(yàn),本文中,淘寶技術(shù)專(zhuān)家明風(fēng)在51CTO記者采訪(fǎng)時(shí),也分享了很多經(jīng)驗(yàn)和方法。
(左:明風(fēng) 右:51CTO記者)
【嘉賓簡(jiǎn)介】黃明,淘寶技術(shù)專(zhuān)家,花名:明風(fēng)。2010年加入淘寶,一直從事Hadoop相關(guān)的的數(shù)據(jù)開(kāi)發(fā)和挖掘工作,見(jiàn)證和支持了基于云梯的數(shù)據(jù)開(kāi)發(fā)平臺(tái)的發(fā)展。現(xiàn)任淘寶技術(shù)部數(shù)據(jù)挖掘與計(jì)算團(tuán)隊(duì)的Leader,負(fù)責(zé)Spark計(jì)算平臺(tái)和淘寶數(shù)據(jù)推薦產(chǎn)品和業(yè)務(wù)。
淘寶的數(shù)據(jù)特點(diǎn)
對(duì)于淘寶的數(shù)據(jù)特點(diǎn),明風(fēng)認(rèn)為主要有以下幾個(gè)方面:
一、大,淘寶每天的數(shù)據(jù)都是T級(jí)別的,怎樣對(duì)這些T級(jí)別的數(shù)據(jù)做很好的分析、采集、以及在做完數(shù)據(jù)清洗后,對(duì)于比較完整的行為數(shù)據(jù)進(jìn)行挖掘,這是個(gè)需要解決的難題。因?yàn)閿?shù)據(jù)量大的話(huà),很多傳統(tǒng)算法很難直接應(yīng)用,需要進(jìn)行并行化的改進(jìn)。并行化改進(jìn)之后,數(shù)據(jù)會(huì)慢下來(lái),如何在兩者之間達(dá)到一個(gè)平衡點(diǎn)是非常重要的。
二、復(fù)雜,淘寶上的主體是買(mǎi)家、賣(mài)家和店鋪,買(mǎi)家的行為是一個(gè)從收藏、搜索、購(gòu)買(mǎi)、評(píng)論等,這些行為并不是按照一定的時(shí)間順序去發(fā)生的,而是混合在一起。這些數(shù)據(jù)行為代表了消費(fèi)者的購(gòu)物模式,怎樣從混亂的行為中找到消費(fèi)者的購(gòu)物模式,是一個(gè)很復(fù)雜的過(guò)程。
三、有趣,淘寶的數(shù)據(jù)很豐富,從用戶(hù)的復(fù)雜行為可以看見(jiàn)買(mǎi)家很多活生生的特點(diǎn),以及中國(guó)消費(fèi)者的消費(fèi)行為的心里,我們做過(guò)最簡(jiǎn)單的數(shù)據(jù)統(tǒng)計(jì)分析,能夠了解中國(guó)各省女生需要買(mǎi)什么,男生需要買(mǎi)什么,這些數(shù)據(jù)能很好的反應(yīng)出中國(guó)消費(fèi)的一個(gè)風(fēng)向標(biāo),所以說(shuō)淘寶的數(shù)據(jù)是非常有意思的。
構(gòu)建高性能的數(shù)據(jù)挖掘平臺(tái)
隨著數(shù)據(jù)挖掘業(yè)務(wù)的發(fā)展,基于傳統(tǒng)的Hadoop下的MapReduce,速度和靈活度,已經(jīng)不能滿(mǎn)足日益復(fù)雜的挖掘算法的需求,面臨多次迭代的機(jī)器學(xué)習(xí)算法,Mahout顯得力不從心。如何讓Hadoop這頭大象插上翅膀,飛馳起來(lái),將大數(shù)據(jù)的價(jià)值發(fā)揮到淋漓盡致?明風(fēng)談到:“基于Yarn模式的Spark,可以?xún)烧呒骖櫋?rdquo;這并不是說(shuō)淘寶要Follow業(yè)界最新的技術(shù),是因?yàn)樘詫氂袑?shí)際需求的。對(duì)于淘寶數(shù)據(jù)挖掘團(tuán)隊(duì)而言,一個(gè)高性能的計(jì)算框架對(duì)于在上層做數(shù)據(jù)挖掘與推薦是非常重要的,另外,在Spark上可以實(shí)現(xiàn)很多比較復(fù)雜的機(jī)器學(xué)習(xí)算法,用MLBase機(jī)器學(xué)習(xí)算法對(duì)消費(fèi)者的行為進(jìn)行最準(zhǔn)確的數(shù)據(jù)挖掘與分析,從而達(dá)到最好的推薦效果。
構(gòu)建過(guò)程中需要注意的問(wèn)題
無(wú)論是選擇Spark還是選擇其他框架,都有一些共性的東西。明風(fēng)認(rèn)為,“首先你需要明白搭建這個(gè)高性能系統(tǒng)的瓶頸在哪里,一個(gè)系統(tǒng)多快是取決于最慢的那一點(diǎn),所以一定要把最慢的那一點(diǎn)提升到你需要的性能點(diǎn),才能獲得高性能。這一點(diǎn)是特別值得注意的。Spark能夠在一個(gè)批量計(jì)算以及流式計(jì)算中,取得一個(gè)很好的平衡,把中間的一個(gè)點(diǎn)降到最低,這個(gè)是非常必要的。”
其次,明風(fēng)談到:“淘寶在做Spark過(guò)程中,由于很多東西都是很新的,所以要保持和社區(qū)良好的互動(dòng)交流,將我們的改動(dòng)反饋到社區(qū)里,形成一個(gè)良性循環(huán)。在淘寶,無(wú)論是Hadoop、HBase還是Spark,我們都是這樣的工作模式,才能讓我們的平臺(tái)出在最佳的狀態(tài)。”
以上便是構(gòu)建高性能數(shù)據(jù)挖掘平臺(tái)的重點(diǎn)內(nèi)容,更多精彩看點(diǎn),請(qǐng)您關(guān)注以下視頻獲悉: