今天Airbnb召开了第一次开放技术大会OpenAir,重点是数据驱动在airbnb开发过程中的实践,作为内部人士,我来给大家分享、总结一下3个airbnb开源大数据神器
第一个神器叫 Airpal ,是airbnb内部最炙手可热的数据分析工具,目前在github上面有900多个star。
Airpal是建立在Facebook的Prestodb上的一个可视化分布式SQL查询引擎。Airbnb现在大概有1.5PB的数据。传统上是可以用hive查询,但Hive有以下几个缺点。
第一是对于一些小规模的query,map reduce的overhead太大,比如我就想看一张表的前10行, select * from * limit 10
Hive会触发一个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款开源工具还是挺实在的。