zoukankan      html  css  js  c++  java
  • Airbnb架构要点分享——阅读心得

    目前,Airbnb已经使用了大约5000AWS EC2实例,其中大约1500个实例用于部署其应用程序中面向Web的部分,其余的3500个实例用于各种分析和机器学习算法。而且,随着Airbnb的发展,相比于业务处理所需的计算能力,分析和机器学习的计算能力需求增长更快。这是因为,随着Airbnb的用户越来越多,其挑战不是找到一个可供出租的地方,而是找到一个合适的地方,并且让房主和房客都满意。

    关键就是,根据房客和房主的偏好(个人资料及在Airbnb上的交易和搜索历史),使用搜索引擎和机器学习,找出最好的租房/出租选择。而且,选项不能太多,否则用户会很难决定。因此,Airbnb需要借助机器学习强化搜索,为用户(房客和房主)提供510个选项。这缩短了交易时间,降低了Airbnb系统的负载,而用户也更满意。

    同许多公司一样,Airbnb开始时也使用了若干开源软件,但进行了大量的修改和扩展,以便创建一个机器学习强化的搜索引擎。其核心索引技术使用了Lucene,但只用了反向文本部分。而所有的排序和机器学习功能则是他们自己编写的。他们的第一个机器学习实验就将预订率提升了4%Airbnb的动态定价也是由机器学习算法所支撑。据Curtis说,当房主按照Airbnb推荐的价格上下浮动不超过5%定价,其出租成功率提升了4倍。

    为了使机器学习更容易嵌入应用程序,Airbnb创建了一个名为Aerosolve的工具(GitHub页面)。该工具有许多功能,但最重要的是让数据科学家可以了解机器学习算法(房屋推荐或定价建议)内部正在执行什么操作,然后运用直觉获得更好的结果。

    驱动Airbnb站点和分析的核心数据平台是Hadoop,所有东西都存储在Hadoop分布式文件系统中。之前,他们使用Amazon Elastic MapReduce服务,并在AWS EC2计算实例上部署了自己的Hadoop,但去年,他们已经迁移到Cloudera的企业级Hadoop上。此外,Airbnb使用S3存储Web站点的图片和Hadoop集群的备份数据。

    HDFS文件之上,Airbnb使用由Facebook创建并开源的HivePresto创建了一个数据仓库。对于长时间运行的查询,他们使用MapReduceHive不支持子查询,使用MapReduce可以获得同子查询类似的结果。Curtis指出,Presto非常强大,它兼容SQL,使得数据查询非常容易,而且速度很快,虽然功能不如Hadoop MapReduceHive多,但在日常分析中非常有用。他们还创建了一个名为Airpal的工具(GitHub页面),用于设计SQL查询,并发送到数据仓库的Presto层。

    这两个Hadoop集群使用Kafka保持同步。Airbnb创建有自己的工作流和ETL工具AirflowGitHub页面)。该工具已经钩入HDFSHivePrestoS3MySQLPostgres。此外,Airflow接收来自Airbnb站点的非结构化数据流,增加结构后转储到HDFS上的Hive表中。曾经很长一段时间,他们使用成百上千的CRON任务来做这项工作,那很容出问题。而Airflow提供了一种简洁、可编程的系统,使他们能够查看、编辑、监控和调试ETL系统。

    原文地址:https://mp.weixin.qq.com/s?__biz=MzAwMzI3Njc1MA==&mid=208369717&idx=1&sn=1ca5bb16413dccbbf4de8169409ad986&scene=21#wechat_redirect

  • 相关阅读:
    Android 3.0 r1 API中文文档(108) —— ExpandableListAdapter
    Android 3.0 r1 API中文文档(113) ——SlidingDrawer
    Android 3.0 r1 API中文文档(105) —— ViewParent
    Android 中文 API (102)—— CursorAdapter
    Android开发者指南(4) —— Application Fundamentals
    Android开发者指南(1) —— Android Debug Bridge(adb)
    Android中文API(115)——AudioFormat
    Android中文API(116)——TableLayout
    Android开发者指南(3) —— Other Tools
    Android中文API (110) —— CursorTreeAdapter
  • 原文地址:https://www.cnblogs.com/ssyh/p/11052643.html
Copyright © 2011-2022 走看看