有人将抱着平板在沙发上看《来自星星的你》描述为惬意的生活缩影;将对着电脑通过视频学习一道美味菜肴的制作过程被定义为潮妈技能;将端着手机在地铁观看苹果发布会定义为极客行为。的确,互联网时代到来了,通过视频网站在线浏览、分享新闻、电影、电视剧等已成为每个人的生活中不可或缺的一部分。展现在小小屏幕上的是丰富多彩的栏目,而藏在它背后的,却是一个个不得停歇的数据中心。呈现丰富的内容并非一件易事,见你所爱,更是难上加难。
传统大数据也为难的“为我推荐”
如何提高寻找视频内容的效率,准确的为用户推荐他们喜欢的视频,避免推荐重复视频虽然看起来只是视频行业的小课题。这不仅需要海量用户数据,更重要是通过底层技术实现对这些海量数据的分析与挖掘。作为中国网络视频行业领军企业之一,优酷土豆很早就看到了大数据技术对公司业务发展的价值,并通过分析用户的行为爱好、对视频的题材偏好以及视频播放历史,增加了“为我推荐”模块,使网站的视频推荐更加个性化、智能化。
为了更好的实现个性化视频推荐,2009年,优酷土豆开始使用Hadoop大数据平台来进行数据的分析及挖掘。起初整个平台平台只有十多个节点,而到2012年集群节点已经达到150个,2013年更是达到了300个。但是随着数据量的急剧增加以及业务的迅猛发展,每天优酷处理的数据量已突破200TB,优酷土豆的技术人员发现一些场景并不适合利用MapReduce进行处理。
优酷土豆的大数据平台已使用多年,核心业务数据量的增长与数据处理速度的失衡成为优酷土豆Hadoop大数据平台的一大瓶颈。这个问题主要表现在三个方面:首先,在BI方面,分析师提交任务后需要等待很久才得到结果。其次,在进行一些模拟广告投放之时,在调优、筛选方面的计算量十分大,对计算效率的要求也较高,用Hadoop消耗资源过大而且响应较慢。同时,MapReduce在机器学习和图计算的迭代运算方面不仅需要耗费大量资源,处理速度也不尽人意。
优酷土豆集团大数据团队大数据平台架构师傅杰介绍道:“虽然很多互联网企业都在用MapReduce来处理自己的业务,但是由于优酷的视频量大概在2亿的级别,视频的关系量目前在10亿的级别,这个级别的数据量利用MapReduce来计算CPU资源消耗比较高,而计算效率比较低,单纯依靠MapReduce框架已经无法满足视频推荐、广告投放效果预估等情景对实时性和准确性的要求。”
和英特尔一起Spark/Shark
为此,优酷土豆在英特尔公司的帮助下率先尝试了Spark/Shark内存计算框架来解决多次迭代以及复杂的算法。以计算实力著称的英特尔,在项目中在软件优化、方案设计、Scala语言培训等方面给优酷土豆提供了多方面的帮助,以过硬的软实力及对整个行业的深入洞察,与优酷土豆的需求不谋而合。
作为典型的互联网公司,优酷土豆大数据平台主要应用在广告、日常报表、推荐系统等核心业务上。随着对低延时的、实时要求很高的应用场景的增多,Spark/Shark在快速报表,交互式查询,做Ad-hoc的查询的表现,机器学习以及迭代式算法方面的优越性吸引了优酷土豆。Spark/Shark可每次将弹性分布式数据集(RDD)操作之后的结果存入内存中,下次操作可直接从内存中读取,省去了大量的磁盘IO,效率也大幅提升。
在瞬息万变的互联网市场,用户的个性化需求越来越多,而将Spark/Shark集成到优酷土豆原有的大数据平台后,在用户偏好分析、Top-N榜单计算等方面看到了喜人的变化。“与前几年不同,为了更加精准的为用户做出视频推荐,我们已经不再是简单的匹配视频的元信息了。计算视频与视频之间的相似关系,我们用到了图计算。利用图计算,我们将搜集到的视频图谱做聚类,然后再推荐给用户。”优酷土豆集团大数据团队技术总监卢学裕介绍道,“通过测试与对比,我们发现,计算相同规模的数据量,以前在单机上实现需要80多分钟,而在四台节点的Spark集群上运算时间缩短到了5.6分钟。”
通过混搭的方式,Hadoop与Spark/Shark结合的架构不仅使计算资源能够更加协调的被利用,也完善了优酷土豆的大数据分析,而重复视频推荐、刷浏览量冲击榜单的情况也减少了很多。作为国内视频行业第一家部署Spark/Shark解决方案的公司,优酷土豆在Spark/Shark方面的经验对整个视频行业有突出的价值。未来,双方也将继续进行深入合作,将整体方案进一步优化,并分享给更多行业合作伙伴,帮助他们更好的解决业务中面临的大数据挑战。
|