返回 登录
-192

eBay:数据驱动需要多平台,机器学习不只靠Spark

作为一家老牌的电商公司,对数据的充分利用是eBay的基因,而eBay也对多个大数据开源项目有不小的贡献。那么,eBay自身的大数据分析体系是如何运行的呢?eBay中国数据服务和解决方案团队负责人李炜对其团队的数据工作及数据平台的构建进行了介绍。

数据驱动的eBay

自公司CEO而下,指导eBay现在发展的文化是以数据驱动商业,大数据平台最重要的不是数据量大、全,而是价值。

除了传统的数据整合,eBay还做了很多平台,最重要的是数据产品,B2C、C2C等各个业务环境、各个业务组织架构里面都用到了不同的数据产品。例如B2C里面对于类目的需求和供应的差距的分析。

  • 通过把数据分析得出关于需求的Insight提供给卖方,指导他们更好地供货。
  • 也可以告诉买家,哪些商品接下来可能会热卖,通过机器学习结合内部大数据(如各种各样的行为日志)以及社会热点数据(如新电影、大事件)的挖掘实现。
  • 对用户画像分级——哪些买方有很大的消费潜力,哪些买方是有高风险的,有信用危机的,还有哪些买方对哪些类目下的商品最有热心……分级之后,能够更精准地进行市场推广。

类目分析的数据需要是实时的。因为需求和供应都是动态变化的,数据的延迟越厉害,对于分析的价值就越低。

除了通过用户行为分析指导更好地买卖,eBay也有对自家线上产品的分析。李炜举例说,当eBay对网站页面进行重新设计,想要知道新增的功能到底好不好,是由数据部门进行数据分析,看该功能上线之后点击量、转换率的变化情况。包括提供整个网站页面的热点地图,哪些功能是最热的、最常用的,哪些功能很少人用。通过数据驱动的结果作为优化网站设计的依据。

数据来源

对于数据的来源,李炜表示,大多数数据是从eBay网站的MarketPlace里去抓取,当然也用了很多第三方的数据。比如一些用于个人画像的数据(包括职业、性别、收入等数据)是没办法在网站上抓的,需要从第三方公司购买。有些在其他的零售系统的用户的行为数据,可能也需要从外部购买(如果无法抓取)。

数据团队的建设

负责上述eBay数据驱动工作的,是李炜所在的数据服务和解决方案部门(其前身是数据仓库部门,在eBay成立之初就开始组建),目前包括中国(上海)和美国(西雅图和圣何塞)团队,支持不同的业务部门做不同的业务数据,有些则是共享的数据基础,比如行为数据分析是共同开发的模式(数据服务器尽可能放在同一个区域,不同区域基于高速的专线进行数据交换)。

该部门中国有100人左右,包括全职员工和外包团队(来自专门的外包公司和内部员工一起做开发的技术人员)。

部门分工包括数据科学家、数据工程师、商业需求分析师、产品经理等岗位。其中数据科学家在中国团队的比例是1%到2%,在美国团队则有10%左右。

所谓数据驱动商业,eBay数据产品是针对业务的,不同的最终数据产品会针对不同的用户。这一块会是一个团队去支持这个业务部门,这个团队会支持产品部门。但是底层的基础数据的整合、Data Warehouse搭建是一个整体,包括一些数据的可靠性、数据产品的质量等。

数据科学家的作用

分析师和数据科学家的区别,是分析师很靠近业务,对业务非常了解,能够帮助业务部门确定需要做哪些指标的分析,更多的是在于去衡量商业的结果。数据科学家则以数据模型、机器学习的方法更自动化地去产生一些Insight,更多时候是做一些研究。比如用某种模型解决预测的问题,很多情况下做实验可能会失败,他们会花很多时间去调试模型、研究新的模型。很大的一个价值在于,eBay做了很多数据产品,都是需要这些数据科学家来帮助构建模型和调优,从而能够更优地去预测。

李炜举了一个例子,eBay数据科学家做了一个线上的工具Seller Hub(目前免费提供给卖家),通过数据模型针对卖家提供一个很深入的Insight,知道哪些东西卖得好,并且该卖什么样的价格才有竞争优势。比如卖一个二手手机,需要知道怎样定价才比较合理,模型不仅要从eBay网站所有的二手手机类目里去拽取所有的价格信息,并且还要知道类似的商品,是有一个相关联的价格;此外,它还要综合分析亚马逊上同类商品的价格,产生一个最优的指导价格给卖家。

eBay今年的主要商业目标,B2C、C2C是需要继续去发展和增长的,所以,除了最主要的Seller Hub,数据部门还有一个Structured Data的计划,因为eBay上面有C2C交易、B2C交易以及很多二手货的交易,有各种各样的类目的商品,怎么去管理这些类目是个非常大的挑战,这需要几年的计划,把大部分的类目要能够最终关联到结构化的产品系列里面。这些工作也需要数据科学家的参与。

数据平台的选择

开源工具的采纳

支持数据团队工作的平台,eBay积极地采用开源技术,但是最终还是要看怎样用是最适合的。在李炜的数据团队之外,eBay还有一个比较底层的数据平台团队,积极地去观察各个开源社区,去探索、研究哪些开源可能会被利用到。他们会在一些实验性的Class上面去部署。数据部门也和他们合作,去尝试这些技术是不是可用。如果最终大家都感觉是可用的话,就有可能就会上升到产品部署上面去。

最典型就是Hadoop。对于数据量,Hadoop存储的单元价格很便宜,对于大量原始的、非结构化的、价值不明的数据,eBay就把所有的数据全部放在Hadoop上面,更进一步的最有用的数据,就放到最高可靠、最好用的平台上面去,一步一步的分级筛选。

行为数据是近几年来eBay最重要的一个关注点,有这些数据,可以做很多的个性化应用,比如买家比较喜欢买哪种类目下的东西,他的购买习惯是什么样的,他在什么时候最喜欢去上网买;对卖家来讲,他通过这些行为数据能够知道哪些买家是最大的客户群,或者是通过这些买家行为来预测可能接下来市场的热点在哪儿。

李炜表示,行为数据占了eBay整个数据量的80%以上,数据量非常巨大,并且是非结构化数据,eBay会把这些最原始的数据先加载到Hadoop上,进行分级的结构化处理,再把这些预处理好的数据通过数据管道送到不同的系统上面,接下来处理那些已经模式化的数据、半结构化的数据。

李炜表示,Hadoop已经非常成熟,很多公司都在采用了,Spark也是一个很成熟的技术,此外eBaygauge在HBase上面用的一些SQL引擎。

机器学习的支持

基于用户行为数据来做预测,eBay有很多机器学习的模型来完成。机器学习的任务需要一些原始的数据,就直接在Hadoop系统上面做一些探索。在机器学习方面,eBay其实用非常流行的Spark平台作为一个主导的发展方向,同时在机器学习的部署,也结合了实时的数据和实时模型的部署,这都是利用了Spark的开源技术跟Hadoop结合。

商业方案的应用

从整个执行的战略来看,综合考虑eBay庞大的数据量及投资成本等,李炜认为,在整个业界里面,还没有一个系统能够解决所有的问题,所以越来越多的企业都打造一个分析生态系统,综合应用各种不同的平台。除了开源平台,eBay也采用了商业的方案。例如,eBay采用了Teradata的技术。

李炜介绍,Teradata和eBay合作已经有20年,是Teradata目前最大的客户之一。eBay的Teradata系统经过好几轮的演变,目前有四大系统,包括三个生产系统和一个开发测试系统。核心数据、交易型企业级数据和用户行为数据都在这些系统上有很好的存储、管理和应用。

  1. 最基本的交易型数据和用户数据,是保存完整的数据集的。eBay主要的企业级数据仓库(Enterprise Data Warehouse)的处理,都是在这个系统上面。
  2. Teradata给eBay特别定制的系统,这上面包含除了交易型数据和用户数据,还有一些行为数据,做一些非结构化的用户行为处理。
  3. 专门给分析师用的系统,因为前面两个系统主要是为生产环境做批处理。
  4. 单独给数据科学家或是分析师以方便、快速地寻找他们的数据,做一些测试和分析报告。

机器学习方面,eBay有些模型,用R来产生PMML的语言,部署在Spark上面。在有些情况下,其实有一些比较结构化的SQL,也可以运行在Teradata上面,做一些预测、模型。

此外,eBay和Teradata未来在云上也有合作,其实在eBay美国已经是落地在做的一些具体的应用了。所有的多平台,都是出于eBay分析生态的需求。

多平台整合的坑

从数据团队最为重视的高可靠性、高可用性和易用性的角度来看,李炜对eBay目前的Hadoop+teradata技术体系最为满意的部分为:

  • 高可靠性,Teradata目前在各个系统中是最可靠的。
  • 易用性,要看不同的用户案例,传统的结构化数据,比如一些财务报表、商业系统的分析等,是在Teradata上面应用。机器学习的模型,包括很快速地去探索一些非结构化的数据,Hadoop上是比较容易的。
  • 对于高的有效性来说,这和对于整个平台的支持的力度有关、人员结构有关,很难评价。
  • 对于Hadoop开源社区,最满意的一点是非常开放,在整个生态系统当中,有各种各样的工具能够满足不同的需求。

采用各种不同架构,整合的问题是不可避免的。李炜表示,eBay的Hadoop的节点和Teradata的节点都是非常庞大的,数据量也是非常庞大的。在这方面遇到的挑战包括:

  1. 数据的搬移,一个是本身的数据量大,需要大量的搬移;而且每天的数据增长量也是非常巨大的。同时在多个平台上要进行同步,碰到的问题是,在搬移过程中怎么保证不同系统中的数据同步和数据质量,这是一个很实际的问题。

  2. 由于eBay系统平台多样化越来越多,对于不同系统的管理是一个问题(这里主要是本身的管理系统)。Teradata有比较成熟的一套管理系统。Hadoop作为开源系统,开源社区非常活跃,也有很多管理系统,eBay对于Hadoop的管理包括可搬移的数据管理,也在不停增强,最近花了很多的时间,希望达到Teradata一样的成熟度。

  3. 人的问题,不同的技术平台需要有不同的技术能力,Teradata有自己的技术,SQL对于Teradata性能调优,Teradata工程师可以很快搞定,但Hadoop可能就是完全另外一套,需要有很强的Java开发经验,需要知道分布式系统、调优等。所以,eBay的工程师、分析师、开发者的能力也需要不同的加强。

对于系统管理,李炜举了一些实际的例子进行说明。eBay大概有十几万个Job在(Teradata)生产系统上面运行,每个作业的优先级都是不一样的,并且在Teradata上有超过五千个用户有实时的访问,Hadoop上面大概也有几百个用户的实时访问。用户和不同Job的权限设置对生产系统是非常关键的,比如有些非常核心的数据,必须要保证在一定时间内完成,如果发生延迟,会影响到很多下游的生产系统,甚至会影响到网站的应用。

eBay和Teradata已经合作了很多年,有非常成熟的模型去管理每一个作业,能够调度每一个作业的权限。在Hadoop上,eBay也慢慢地尝试去做这些事情,碰到的一些问题,比如说细节到某一个运行的作业,它的优先级是不是可以调低调高,这在Hadoop上还是一个挑战。一旦它运行了,在调节的时候不是那么容易控制。不过,Hadoop开源社区比较活跃,目前eBay在Hadoop上面也有自己的开源项目EGO,更多的是在做这方面的工作。

另外,高可靠性,比如某一个节点突然出现问题,能够及时地被排除或者被屏蔽。Hadoop上发生问题的概率是很大的,那怎样才能做到自动地屏蔽和自动地去除,也是一个问题。因为未来能够在多个平台上都达到企业级的应用,所以eBay在这方面也做了很多工作。

评论