Mike Curtis

然而,他補(bǔ)充說(shuō),要搞清楚如何為每一個(gè)用戶的搜索排名在算法上是一個(gè)甚為困難的問(wèn)題。 我們沒(méi)有更深入到談到細(xì)節(jié),但問(wèn)題似乎很清楚。要對(duì)一個(gè)群體的搜索結(jié)果或是對(duì)地域性的搜索結(jié)果排序是很容易的,但要弄清楚如何準(zhǔn)確地考慮一個(gè)用戶的各種因素,如喜好、社會(huì)關(guān)系、租賃歷史、評(píng)論和其他數(shù)據(jù)點(diǎn),其復(fù)雜度會(huì)上升到另一個(gè)層次。(再加上Airbnb的數(shù)據(jù)來(lái)自特定的城市、訪客和主人的地域以及其他元數(shù)據(jù)也是要考慮的因素。)

推特的個(gè)性化搜索引擎用到數(shù)據(jù)科學(xué),因?yàn)樾枰紤]眾多因素以確定相關(guān)性,實(shí)現(xiàn)起來(lái)有相當(dāng)?shù)碾y度,是一個(gè)很好的例子 。

Curtis說(shuō),Airbnb進(jìn)行大量數(shù)字計(jì)算,意圖能幫助公寓主人找到最佳的租金率。

在公司內(nèi)部,Airbnb希望叫板Curits的前雇主Facebook。Facebook在利用Hadoop建造工具方面小有名氣,現(xiàn)在Facebook公司幾乎每一個(gè)人都直接或間接地用到Hadoop。 Curtis說(shuō),F(xiàn)acebook“真正地讓員工深入接觸數(shù)據(jù)及找出關(guān)鍵的問(wèn)題。……在Airbnb打造產(chǎn)品的過(guò)程中,我也想這樣做。”

Mesos種種

Airbnb兜里的一個(gè)重要戰(zhàn)略性工具之一是一個(gè)開源集群管理項(xiàng)目,名為Mesos。Airbnb用Mesos實(shí)現(xiàn)自己的數(shù)據(jù)之夢(mèng)。 Mesos用到的技術(shù),源自加州大學(xué)伯克利分校的AMPLab,可以讓用戶在一個(gè)單一的資源集里運(yùn)行多種類型的計(jì)算框架(也有可能只是幾個(gè)不同的Hadoop集群)。Mesos在網(wǎng)絡(luò)上的名氣要拜推特所賜,Mesos項(xiàng)目上個(gè)星期一躍而成頂級(jí)Apache項(xiàng)目。

Facebook前工程總監(jiān):數(shù)據(jù)驅(qū)動(dòng)初創(chuàng)公司前途讓人驚嘆

Mesos結(jié)構(gòu)

對(duì)Airbnb而言,Mesos的關(guān)鍵是讓公司里的工程師在利用Hadoop范疇以外,最大限度地利用基于Amazon Web Services的基礎(chǔ)設(shè)施。 Curtis解釋說(shuō),Airbnb在很多地方都用到Hadoop,但是Airbnb想在流處理(stream processing)方面用Storm做實(shí)驗(yàn),Airbnb希望用Spark(也是AMPLab出的東西)來(lái)處理Hive查詢,會(huì)比Hadoop允許的速度快些。

實(shí)際上,Spark在搜索排名、定價(jià)和檢測(cè)服務(wù)的“不良行為”方面有可能特別有用,Curtis說(shuō),“這些東西很多都涉及到機(jī)器學(xué)習(xí)模型,”與Hadoop比,Spark的性能優(yōu)勢(shì)意味著它可以在較短時(shí)間內(nèi)一遍又一遍運(yùn)行這些模型。

Chronos是Airbnb打造的一個(gè)分布式作業(yè)調(diào)度程序,用于云環(huán)境之中。Chronos也是在Mesos上運(yùn)行的。

Airbnb用Mesos的一個(gè)很大的原因肯定是資源管理和效率,不過(guò)Curtis說(shuō),Mesos也可以幫助Airbnb在綜合工程戰(zhàn)略方面更進(jìn)一步,可以有助于建立小團(tuán)隊(duì)快步前進(jìn)。 Airbnb自動(dòng)資源配置做得越好,工程師做其他事情的時(shí)間就越多。他說(shuō),“理想的情況下,基本思想是利用Mesos的自動(dòng)化讓極少數(shù)的幾個(gè)工程師可以產(chǎn)生較大的影響。”

云:哇噻!Elastic MapReduce:無(wú)所謂?

雖然Airbnb仍在用AWS云,Airbnb的Mesos卻在考慮從流行Elastic MapReduce的Hadoop服務(wù)里遷移出來(lái)。 據(jù)Curtis說(shuō),走這一步棋有幾個(gè)原因,但最主要的原因是要用Mesos管理所有Airbnb需運(yùn)行的框架,從而對(duì)Airbnb的Hadoop環(huán)境有更精細(xì)的控制。他說(shuō),Elastic MapReduce在很大程度上來(lái)說(shuō)是亞馬遜自己的分布式Hadoop,也就是說(shuō),用戶打補(bǔ)丁或完成類似的東西時(shí)必須依賴AWS,Elastic MapReduce也僅僅是做了Hadoop的事。

另一個(gè)工程師Brenden Matthews在上周在推特總部做了個(gè)演講,講Airbnb從Elastic MapReduce遷移到Mesos。他的幻燈片列出了更多轉(zhuǎn)換的原因,他還列出了有關(guān)在云里運(yùn)行Hadoop的常見挑戰(zhàn)。

Facebook前工程總監(jiān):數(shù)據(jù)驅(qū)動(dòng)初創(chuàng)公司前途讓人驚嘆

Curtis說(shuō),盡管如此,AWS總的來(lái)說(shuō)還是很可靠的,而且還有云的靈活性——與Mesos的組合一起——意味著Airbnb可以想干什么就干什么,想什么時(shí)候干叫什么時(shí)候干。Airbnb的臨時(shí)分析查詢不會(huì)干擾Airbnb的長(zhǎng)時(shí)間運(yùn)行的批量工作流,反過(guò)來(lái)也一樣。

Curtis說(shuō),“運(yùn)行群集作業(yè)的速度完全處決于資源配置。我們?cè)诔乩锓哦嗌儋Y源呢?”

Curtis 90年代后期出道于AltaVista,后來(lái)在AOL、Yahoo和Facebook待過(guò)。他講起資源時(shí)笑遂顏開,一般來(lái)說(shuō),像Airbnb這樣的初創(chuàng)公司,一開始購(gòu)置和管理服務(wù)器這么少的投資,云計(jì)算提供了很大的潛力發(fā)展空間。他說(shuō),“想想今時(shí)今日,所有的所有都是抽象的……真的是如此的美好和讓人驚嘆。”

分享到

aming

相關(guān)推薦