Airbnb開源的三個大數據工具
今天Airbnb召開了第一次開放技術大會OpenAir,重點是數據驅動在airbnb開發過程中的實踐,作為內部人士,我來給大家分享、總結一下3個airbnb開源大數據神器
Airpal
第一個神器叫 Airpal ,是airbnb內部最炙手可熱的數據分析工具,目前在github上面有900多個star。
Airpal是建立在非死book的Prestodb上的一個可視化分布式SQL查詢引擎。Airbnb現在大概有1.5PB的數據。傳統上是可以用hive查詢,但Hive有以下幾個缺點。
第一是對于一些小規模的query,map reduce的overhead太大,比如我就想看一張表的前10行,select * from * limit 10Hive會觸發一個map reduce job,然后半分鐘過去了還在map階段。。。而Airpal背后采用的prestodb則沒有這個問題,并且Airpal提供對一個表的數據預覽。
Hive的第二個缺點是對于非技術人士不大友好,而airpal是圖形界面,只要會sql就可以使用,結果直接生成一個csv文件。很多非技術部門,比如finance的分析員需要做大數據分析的時候,Airpal會非常方便。據我觀察,在airbnb,數據科學家還是喜歡用命令行的hive,而非技術人士,或者需要做一些簡單查詢的工程師和產品經理,則多用airpal
Airpal還有個好處是可以直接和公司的LDAP相連,員工用LDAP登陸,可以直接設置相應的訪問權限,使得全公司可以放心用一套數據分析系統
Aerosolve
Aerosolve 是支撐Airbnb定價建議系統的機器學習引擎。
傳統的機器學習引擎更像一個黑箱,很難知道是哪一個feature對最后的結果產生 了最大的影響。比如Airbnb上的房東設定價格后,我們不僅是希望提示這個價格是過高或過低(模型判斷結果),而是希望給房東具體的原因,比如位置太 偏,或者評價數不夠多(feature的權重)。
比如下圖就說明了評價數量以及三星評價數量對價格的影響。我們(驚奇)的發現,一個評價和15個評價的效果差不多,房東并不會因為有更多的評價而得到更多的訂單,而3星評價甚至會起到副作用
Airflow
大數據的基礎還是data pipeline。 Airflow 則是Airbnb內部發起、排序、監控data pipeline的工具。
最后吐槽一下,在越來越多的公司 開發布會是為了宣布將要發布產品 的時候,我司開個會發布3款開源工具還是挺實在的。