×关闭背景

马蜂窝副总裁於今:旅游行业大数据的实时分析和预测架构

2015-08-27 16:23:21      来源:移动LABS       作者:移动LABS

大数据

【摘要】【移动LABS】8月26—27日,2015中国国际大数据大会在北京召开,移动LABS作为大会战略合作媒体受邀现场直播。马蜂窝副总裁兼首席架构师於今分享旅游行业大数据的实时分析和预测架构的话题。

【移动LABS】8月26—27日,2015中国国际大数据大会在北京召开,移动LABS作为大会战略合作媒体受邀现场直播。马蜂窝副总裁兼首席架构师於今分享旅游行业大数据的实时分析和预测架构的话题。

马蜂窝副总裁兼首席架构师於今

如下为速记全文:

我这个讲稿计划是英文的。因为我刚来蚂蜂窝几个月4月份加入蚂蜂窝之前我一直在美国大概20年左右吧。所以现在中文可能稍微差了一点,大家包涵一下。

我是蚂蜂窝首席架构师,所以我负责它整体的架构还有它的核心的数据的业务。今天跟大家分享一下,就是蚂蜂窝的数据平台架构和大数据在旅游这个行业的应用。

我先简单说一下蚂蜂窝,蚂蜂窝现在是国内最大的一个旅游的社区和OVERVIEW,我们现在八千万的用户。我们积累了五年多的WGS五,也就是用户产生的内容。我们的目标客户是中国大陆的游客,主要是海外游。大家现在都往外面跑,尤其是长假的时候。

我们是跟别的那些旅游公司不一样的地方,大部分别的公司向携程去哪儿,他们都去聚焦于(英文)交易那一块,而我们更加注重于总体用户的体验,也就是说我们把旅游分成三个阶段,第一个阶段是在出发之前,就是(英文)所以就是说大家做很多的研究,然后计划。当然还有并购旅行方面的产品。

另外一个阶段就是在途中,途中大家要去一些陌生的地方,他会需要得到周边的信息,那些PR的信息,那些酒店、餐饮的信息景点之类的。

第三个阶段就是玩回来,玩回来我们希望用户在社区里面分享他们的经验,分享以游记的形式或者是点评形式,分心给更多未来的旅行者。

现在我就直接切入到比较技术的这一篇,我主要说的是我们整个数据平台的架构。我先说一下历史,整个大数据的架构历史,第一代大数据大家都比较熟悉是HADOOP,基本上是离线的计算这个有很多缺陷我也不用多说了。第二代的架构叫做(英文)就是线下和时时的并行。线下的话还有HADOOP,那一般都是说每天产生一个报告,分析一次,半夜转出凌晨一个报告来大家看一看很高兴。这个线下是(英文)就是说这个不会出错,能够保证有东西。线上就是(英文)时时性,时时的我们立刻看到一些信息立刻做一些决策,但是并不能保证(英文)因为线上数据源断或者别的事情发生这个事情很难处理。

所以就是说线上线下结合。但是外处大家需要写两套代码,就是线上(英文)线下是(英文)甚至不同的语言。这成本比较高。现在第三代大数据的架构叫做(英文)也就是完全的(英文)所以这个下面跟大家分享一下我们在蚂蜂窝怎么做的这个事情,怎么实现这个架构。一个是(英文)就是日志数据叫做(英文)第二个(英文)我立刻要查询,结果要立刻出来可以很快的决策。

这个是我们现在的架构,我仔细地跟大家过一下,从左到右最左边是客户端,我们有8千万的用户,然后(英文)PC那边,他们的(英文)恩都是(英文)一般来说就是(英文)面对用户的服务器请求,(英文)的服务。这里面会有各种各样的业务,这是很大的一个集群,上前上百量,这不是我说的重点,这是很成熟的技术,他们都会产生很多日志,就是他们会(英文)这些(英文)去哪里?LOGAGGREGATOR集群,这个集群也是最通用的方式。这个我们是用SPARK五来实现。结果就立刻在那里大家就可以看了。另外一方面每天再把这些数据呈现到(DATAWAREHOUSE)里面。还有另外方面我把处理的直接防盗(RTQUERYDATAWAREHOUSE)所以你一定要把结构定制好了才能做。所以一般的(英文)都可以用DRUID来做。

还有一方面我们做备份,这就是为什么会牢靠?这上面不做任何计算,这也是为了防止出错用。所以架构基本是这样。所以我下面说说出错的几种情况这个比较重要,为什么说(英文)出错所有的这些东西,所有的这些技术都是集群性,那也就是说理论上来讲,就是说有一两个或者几死了都不要紧,这集群照样工作,我今天主要说,我要说的整个集群死了怎么办?我们怎么把它恢复这也比较重要。因为最要紧我们处理数据看到数据,能够不丢数据,这是最重要的。

我们先从(英文)恩那边那说,假设某种情况,整个(英文)集群死了,这些东西死了怎么办呢?回头来看,因为(英文)存了7000左右的数据。HBASE我们存永久的数据,所以那些(英文)之后,我们把它在重新启动之后就可以从再读回来,如果时间再长的话,可以从那边读回来这没有太大的问题。因为当天的数据都是存在(英文)里面。所以(英文)同样的算法再继续转,就可以看到了。

最后还有一个情况什么东西死了呢?是(英文)有很多东西都是基于(英文)可靠性。我们怎么办?我们在(英文)我们没有直接往(英文)丢数据,一个是在当地的硬盘还写了一套数据,后面把(英文)里面去,这事情时时做。所以就算(英文)死了的话,我们那些(英文)还有一份原始的日志,那(英文)存在7天的日志,基本上每个人自己存自己的吧。这个差不多就这样,如果大家有问题我们可以线下再讨论一下。

那下一个我要说的就是说,架构上面基本上是我们可以做到(英文),我们怎么处理这些意外,这些意外我们怎么创造价值。其实最重要的就是说,在这一个垂直的领域里面,我们有各种各样的意外要处理。这可能比较抽象,我做个对比,我来蚂蜂窝之前,我是在美国(英文)应该是世界上第二大广告交易平台。

我们处理的数据都是广告交易的日志,那么就是广告显示、广告点击,还有可能转换的数据。整体来说就是这三种日志,所以非常简单,量会非常非常大,但是在这种垂直领域和旅游领域完全不一饮。它这个量会小很多,就是我们8000万用户,我(英文)14个,人多一倍。垂直领域就是每一个日志源就是上百种的日志,也就是一般的(英文)。

笔触说这个用户看了一篇右记这个用户点了一个赞,所以这个油壶都不一样。而是业务和产品那边他们需要随时加(英文)所以这一定要非常灵活的,他们可以产生新的意外。

那怎么做这个事呢?其实也挺简单,它就是(英文)什么东西。如果我已经知道这(英文)接下去往(英文),TB也好各种各样的计算。如果我不知道这(英文)我们就把这存到Metadata Store里面去。所以一开始是没有路的,那就计算非常小,如果一旦(英文)之后后面的计算就会越来越丰富,计算的结果就是存到(英文)我们用(英文)来实现的方向。

这我基本上说过的,最后一个我要说的就是,我们在旅游这行业的预测和推荐的应用。因为我们有很多用户,我们想知道他们想要干什么?大家都想知道这个事。我们算那么多数据,有两个事,一个是知道这个数字可以决策,另外我们要给用户推荐内容,或者推荐产品。比如说我们想知道用户对哪个目的地感兴趣,有可能这用户想去什么清迈,各种各样的轻微,我们推荐各种样的清迈游记和酒店,就看用户的状态。如果刚来蚂蜂窝我们不应该给他推荐酒店,我们应该给他推荐游记好好看一看感受一下目的和感受其他用户的贡献内容。

做这事情其实整个算法也都是整个很成熟,很多的算法。其中最重要就是(英文)这个就是说是技术团队和产品运营团队非常紧密的配合。因为这个中间其实干扰还是挺大,因为我们技术人不理解产品。而产品的人他也不知道这数据到底能干什么事。我跟产品说给我提一点需求,我看到他给我统计点数据,他不知道预测和推荐能干什么事情。所以这中间是一个不断的磨合过程。

另外一个就是说(英文)做这些整个学习的过程要越快越好,这样的话我们可以很快的帮助用户,找到他没有想要找到的东西。

这个架构跟刚才整体的架构其实挺像前面这些都是挺像的(英文)在这预测和推荐这方面两个比较核心的东西,一个是USER Profile Cache 还有一个是User Profile StoreUPS。

另外一个就是集体学习的模块,他们也是时时在不断的收到(英文)然后不同的学习,不同的模型是不一样,有的话一天一次,有些需要一个小时一次。有一些需要非常的时时。

最后我再说一下,在这旅游行业,我们认为是用户这个(英文)什么东西。最重要当然有一个ID,不管什么样的ID我们要来识别用户,那这ID并不见得是一个注册用户,这用户可能不见得给你手机号码或者EMAIL地址,但是我们某种手段识别这用户跟踪它。第二个就是提供的(英文)个人信息比如说技术信息,它的年龄之类的这种信息。但是往往用户不太喜欢提供这种信息,因为个人隐私或者怎么样。我们就需要预测这些信息。

第二就是我们需要知道用户他现在的状态,那我们需要知道他现在是,当然很简单我们能够判断它是行前还是行中这很简单。当然行前这阶段我们知道用户多成熟,他是刚进来呢进来之后是想看游记还是直接奔着酒店就去呢这个很重要。还有就是我们需要知道用户的兴趣,就刚才说的目的地,除了目的地之外,目的地是最高的一个层次。还有就是说景点,他对哪一类的景点感兴趣,他对博物馆,还是他对自然景观比较感兴趣,这些都需要判断。

最后就是(英文)这些都是从日志提炼出来。我们总共有三个不同的(英文)。第一个是最大,就是他们看了什么东西,他们去什么地方,他们问了什么问题,这些他们比较浅的一些用户行为。第二个就是用户产生的数据,那这个就是门槛会高一些。现在蚂蜂窝大概像游记有几百万台,这个量级是很低,因为用户需要花很大的动力来写一篇游记,我们有质量很好游记。他在欧洲玩回来,这些游记对我们来讲都是非常有价值。第三就是交易数据,也不光交易,他们跟旅行的产品之间互动,他可能买了一个酒店的产品,那也可能只是看一看浏览一下酒店。或者是他摁了携程的(英文)携程也是我们的合作伙伴。说一这些数据我们都要不断的积累下来。通过这些三个不同的时间(英文)我们可以为我们的用户提供最好的服务。我这边就是这样。

声明:所有会议记录均为现场速记整理,未经演讲者审阅,本站刊登此文出于传递更多信息之目的,并不表示赞同其观点或证实其描述。

更多会议精彩内容请参见专题:http://labs.chinamobile.com/bigdata_2015

(责任编辑:王砾瑟)
共 1 页
分享到: 0

评论

全部评论我的评论

阿宝2015-08-27 16:29

这个文章很有意思,赞!