【51CTO专稿】淘宝是一家拥有海量数据的公司,对于数据挖掘来说,海量数据本身具有噪声、异构、算法复杂、技术复杂等问题,如何构建高性能的数据挖掘平台,对于淘宝而言非常重要。近年来,淘宝在数据实时性和大规模计算及挖掘方面积累了很多实践经验,本文中,淘宝技术专家明风在51CTO记者采访时,也分享了很多经验和方法。
(左:明风 右:51CTO记者)
【嘉宾简介】黄明,淘宝技术专家,花名:明风。2010年加入淘宝,一直从事Hadoop相关的的数据开发和挖掘工作,见证和支持了基于云梯的数据开发平台的发展。现任淘宝技术部数据挖掘与计算团队的Leader,负责Spark计算平台和淘宝数据推荐产品和业务。
淘宝的数据特点
对于淘宝的数据特点,明风认为主要有以下几个方面:
一、大,淘宝每天的数据都是T级别的,怎样对这些T级别的数据做很好的分析、采集、以及在做完数据清洗后,对于比较完整的行为数据进行挖掘,这是个需要解决的难题。因为数据量大的话,很多传统算法很难直接应用,需要进行并行化的改进。并行化改进之后,数据会慢下来,如何在两者之间达到一个平衡点是非常重要的。
二、复杂,淘宝上的主体是买家、卖家和店铺,买家的行为是一个从收藏、搜索、购买、评论等,这些行为并不是按照一定的时间顺序去发生的,而是混合在一起。这些数据行为代表了消费者的购物模式,怎样从混乱的行为中找到消费者的购物模式,是一个很复杂的过程。
三、有趣,淘宝的数据很丰富,从用户的复杂行为可以看见买家很多活生生的特点,以及中国消费者的消费行为的心里,我们做过最简单的数据统计分析,能够了解中国各省女生需要买什么,男生需要买什么,这些数据能很好的反应出中国消费的一个风向标,所以说淘宝的数据是非常有意思的。
构建高性能的数据挖掘平台
随着数据挖掘业务的发展,基于传统的Hadoop下的MapReduce,速度和灵活度,已经不能满足日益复杂的挖掘算法的需求,面临多次迭代的机器学习算法,Mahout显得力不从心。如何让Hadoop这头大象插上翅膀,飞驰起来,将大数据的价值发挥到淋漓尽致?明风谈到:“基于Yarn模式的Spark,可以两者兼顾。”这并不是说淘宝要Follow业界最新的技术,是因为淘宝有实际需求的。对于淘宝数据挖掘团队而言,一个高性能的计算框架对于在上层做数据挖掘与推荐是非常重要的,另外,在Spark上可以实现很多比较复杂的机器学习算法,用MLBase机器学习算法对消费者的行为进行最准确的数据挖掘与分析,从而达到最好的推荐效果。
构建过程中需要注意的问题
无论是选择Spark还是选择其他框架,都有一些共性的东西。明风认为,“首先你需要明白搭建这个高性能系统的瓶颈在哪里,一个系统多快是取决于最慢的那一点,所以一定要把最慢的那一点提升到你需要的性能点,才能获得高性能。这一点是特别值得注意的。Spark能够在一个批量计算以及流式计算中,取得一个很好的平衡,把中间的一个点降到最低,这个是非常必要的。”
其次,明风谈到:“淘宝在做Spark过程中,由于很多东西都是很新的,所以要保持和社区良好的互动交流,将我们的改动反馈到社区里,形成一个良性循环。在淘宝,无论是Hadoop、HBase还是Spark,我们都是这样的工作模式,才能让我们的平台出在最佳的状态。”
以上便是构建高性能数据挖掘平台的重点内容,更多精彩看点,请您关注以下视频获悉: