Airbnb如何打造大数据引擎

标签: 动态 大数据 Airbnb Spark 大数据实施 | 发表时间:2013-07-31 02:41 | 作者:Cashcow
出处:http://www.ctocio.com

airbnb_safety_host-guarantee

在推动旅游业的大数据应用方面,没有企业比Airbnb做得更多,走得更远…

与大多数互联网公司一样,旅行房屋短期租赁网站Airbnb也希望通过分析海量数据提升用户体验和业务营收。Gigaom最近 撰文介绍了Airbnb如何在亚马逊云的基础上打造大数据基础架构,并将数据分析作为产品和业务决策的基础,IT经理网编译整理如下:

“我们希望所有的决策都基于数据,我们希望成为数据驱动的公司”。这是今天硅谷企业家的梦想,Airbnb副总裁Mike Curtis也不例外。Curtis加盟Airbnb不到半年,此前两年他的履历是Facebook的工程总监。

“在推动数据科学在旅游业的应用方面,没有人比我们做得更多。长期看,这需要很多金刚钻。”Curtis说道。

个性化搜索的挑战

Airbnb的一大数据难题是找到即将推出的个性化搜索的最佳方式,我们希望客户能找到符合他们个性化要求的最佳选择。

但是为不同的用户个体提供个性化的搜索排名会带来非常棘手的算法难题。搜索结果依据社区或地理位置排名还相对简单,但是要加入用户决策的其他因素,例如社会关系、租赁历史、评价等数据点后,整个事情就变得复杂起来。(如果加入Airbnb的城市、客户和租户的人口统计以及其他租赁元数据的话,问题就更加复杂)

Twitter的个性化搜索引擎就整合了大量判断相关度的因素, 其背后涉及的数据科学问题就非常复杂。

此外,Airbnb还需要通过数据分析帮助房主制订最佳的房屋租赁价格。

Airbnb也希望能够走Facebook的路子,让Hadoop成为所有公司员工都能轻松使用的强大工具。

参考阅读: Tripadvisor工程师如何帮业务人员使用Hadoop

Mesos是关键

mesos-architecture

Mesos的架构图

Airbnb实现大数据梦想的战略性工具是一个名为 Mesos的开源集群管理项目。该技术来自加州伯克利的 AMPLab实验室(该实验室开发的技术例如 Spark内存并行处理框架可以让Hadoop运行得更快,比MapReduce快100倍)。可以让用户在单一资源上运行多种计算框架,当然,也可以是多个独立的Hadoop集群。Twitter的使用让Mesos在互联网圈声名鹊起,上周Mesos已经成为Apache的顶级项目。

参考阅读: Spark,快速数据分析的又一选择

对于Airbnb来说,Hadoop之外,Mesos也是Airbnb工程师们最大化利用亚马逊AWS云资源的的关键工具。Airbnb是Hadoop的重度用户,但Curtis希望能测试 流处理的Storm,还希望能用Spark加速Hive查询。

事实上,Spark对搜索排名、定价、错误排查等算法模型来说特别有用,这些模型大多涉及机器学习,而Spark能大大提升Hadoop的性能,能更快更多地运行这些模型。

Airbnb开发的一个分布式任务计划器—— Chronos,也运行在Mesos上。

除了资源管理和效率提升外,Curtis表示Mesos还能有助于推动Airbnb搭建高机动性小团队的工程战略。Airbnb资源分配的自动化水平越高,工程师们就能腾出更多时间做其他事情。

云计算的可以,MapReduce的不要

meso slide-21-638

虽然Airbnb运行在AWS云上,但通过Mesos,Airbnb可以不使用亚马逊的Elastic MapReduce Hadoop服务。据Curtis透露,Airbnb这么做的原因有很多,其中最重要的一点是可以通过Mesos统一管理所有其他Airbnb需要运行的框架,而且能对Hadoop环境控制的粒度更好。Elastic MapReduce也可以看作是亚马逊自己的Hadoop发行版本,这意味着用户需要依赖AWS提供补丁升级,而且仅仅是为了Hadoop任务而准备的。

Airbnb的另外一位工程师Brenden Matthews上周在Twitter总部的一次演讲( 演示文稿)介绍了Airbnb如何从Elastic MapReduce迁移到Mesos上,以及在云端运行Hadoop经常会遇到的一些技术难题。

Curtis认为,AWS总体来说还是稳定的,搭配Mesos使用后,Airbnb可以随时做需要做的任何事情。Airbnb的ad hoc分析查询也不会与长时间运行的批量工作流冲突。

“在集群上跑任务的速度实际上是一个资源分配问题,取决于你需要投入的资源”Curtis说道。

总之,云计算让Airbnb这样的创业公司在前期只有少量投入的情况下就能购买和管理服务器,“想想如今大部分服务器都被抽象化了,这确实是一件美妙而惊人的事情。”Curtis感叹道。

相关 [airbnb 大数据 引擎] 推荐:

Airbnb如何打造大数据引擎

- - IT经理网
在推动旅游业的大数据应用方面,没有企业比Airbnb做得更多,走得更远…. 与大多数互联网公司一样,旅行房屋短期租赁网站Airbnb也希望通过分析海量数据提升用户体验和业务营收. Gigaom最近 撰文介绍了Airbnb如何在亚马逊云的基础上打造大数据基础架构,并将数据分析作为产品和业务决策的基础,IT经理网编译整理如下:.

大数据-推荐引擎

- - 人月神话的BLOG
推荐引擎在当前电商平台用的相当多,本文简单理解下常见的几张推荐方式. 首先说明下大数据用户画像可以用于针对性营销和单品推荐,但是即使没做用户画像也可以进行商品推荐. 推荐引擎是不是为不同的用户推荐不同的数据根据这个指标,推荐引擎可以分为基于大众行为的推荐引擎和个性化推荐引擎. 大众行为的推荐引擎,对每个用户都给出同样的推荐,这些推荐可以是静态的由系统管理员人工设定的,或者基于系统所有用户的反馈统计计算出的当下比较流行的物品.

大数据分析查询引擎Impala

- - 标点符
Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据. 已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性. 相比之下,Impala的最大特点也是最大卖点就是它的快速.

Airbnb的第一份融资演讲稿

- yasy - 雷锋网
Airbnb是最伟大的创业公司之一,在爆发前,其也有过一段时间的迷惘. 如今已经获得1.12亿融资并且估值13亿美金. 其创始人分享了该公司的第一份融资演讲稿,他们最初其实并不是想搞租房的,而是租赁气垫床的. 我们一起来看看这份演讲稿的风采吧:. 原来他们一开始的名字是叫Air&Breakfast.

国内短租服务(类Airbnb)汇总

- - 互联网的那点事...
Airbnb成立于2008年8月,总部设在美国加州旧金山市. Airbnb是一个旅行房屋租赁社区,用户可通过网络或手机应用程序发布、搜索度假房屋租赁信息并完成在线预定程序. Airbnb用户遍布167个国家近8000个城市,发布的房屋租赁信息达到5万条. AirBnB被时代周刊称为“住房中的EBay”.

Impala:新一代开源大数据分析引擎

- - Parallel Labs
原文发表在《程序员》杂志2013年第8期,略有删改.  大数据处理是云计算中非常重要的问题,自Google公司提出MapReduce分布式处理框架以来,以Hadoop为代表的开源软件受到越来越多公司的重视和青睐. 以Hadoop为基础,之后的HBase,Hive,Pig等系统如雨后春笋般的加入了Hadoop的生态系统中.

谢谢AirBnB, 让我没在SXSW露宿街头

- LooKing - 动点科技-TechNode
提前几个星期朋友们就说要先定好Austin的酒店,几天下来,大家都放弃了. 整个SXSW期间,市中心的几乎所有酒店全部订满. 所以朋友说他来找他在Austin的朋友,可以去蹭两个晚上的住宿就行. 经过12个多小时的飞行,在旧金山转机的时候收到朋友的来信,说他住的房间还有另外两个参加SXSW的朋友了,实在是挤不了啦.

租车领域的AirBnb,Getaround正式上线

- zou guangxian - 36氪
AirBnb是一个为旅行者提供租房服务的社区,将旅行者与家里有闲置住房的人联系到一起,目前我们可以看到它已经取得了相当的成功. 在这次TechCrunch Disrupt大会上,一家名叫Getaround的公司正式上线并获得了最终大奖. 去年9月,这家创业公司已经进入了人们的视野,Getaround为人们提供社会化的租车服务,用户通过它可以选择使用智能手机应用(App)来租用一个小时,一天或者一个星期的车.

Airbnb 新办公室,不一样的家庭风

- 小元 tinyyuan - 爱范儿 · Beats of Bits
很多互联网公司的办公室环境成为室内设计公司的案例,从前我们介绍过的办公室也不少,包括 Google、Facebook、Twitter、Groupon、Instagram 以及更多. 这次向大家介绍的是自助租房服务 Airbnb,几个月前它刚刚搬入新办公室,位于旧金山的 Potrero Hill. 互联网公司的办公室一般给人的印象是敞亮、整洁、色彩缤纷、充满创意,而 Airbnb 的办公室又有什么特点呢.

Airbnb开源web服务自动化管理工具SmartStack

- - IT经理网
Airbnb最近在Github上开源了web服务自动化管理工具SmartStack,该工具能实现web服务之间的通讯,同时能自动关闭出现问题的服务,确保整个系统的可用性. 为web应用搭建SOA架构听上去不错,但是管理如此之多的服务——这些服务各自为政同时又互相通信,是一件非常棘手的事情. Airbnb解决这个问题的方法是自行开发出web服务自动化通讯管理工具——SmartStack.