一场变美盛宴后面的大数据故事-阿里云开发者社区

开发者社区> 隐林> 正文

一场变美盛宴后面的大数据故事

简介: 小红唇和阿里云大数据平台的牵手要从2016年5月份说起。随着小红唇业务的发展,用户量和内容量不断增加,迫切需要推出个性化功能,增加用户的使用时长和用户粘度。对于一个没有大数据/机器学习经验和技术储备,并且开发人员有限的年轻团队,在业务快速发展的情况下,如何在非常有限的开发资源和不影响正常业务开发的前提下,快速建立起自己的推荐系统,成为摆在小红唇技术团队面前一个不小的挑战。
+关注继续查看

小红唇和阿里云大数据平台的牵手要从20165月份说起。随着小红唇业务的发展,用户量和内容量不断增加,迫切需要推出个性化功能,增加用户的使用时长和用户粘度。对于一个没有大数据/机器学习经验和技术储备,并且开发人员有限的年轻团队,在业务快速发展的情况下,如何在非常有限的开发资源和不影响正常业务开发的前提下,快速建立起自己的推荐系统,成为摆在小红唇技术团队面前一个不小的挑战。

 

小红唇的技术团队在收到产品关于个性化推荐的需求后,开始了技术调研,其中包括了主流的开源技术栈和阿里云在2016年年初发布的数加平台。两位毫无大数据技术背景和经验的工程师并行化工作,都希望能快速切入到大数据的核心并快速产出。于是小红唇和大数据的第一次邂逅就这样不期的开始了,如同相亲,在众多的对象中,怎么找到合适的那一位一定是故事里精彩的部分。在这第一次邂逅的比赛中,调研阿里云数加平台的工程师只用了一天时间,就利用阿里云数加平台的推荐引擎搭建起了推荐系统,该系统使用了业界流行的协同过滤算法,基于最新的用户对短视频的行为,计算出推荐列表。而另一位工程师还在熟悉陌生的大数据技术栈和编程语言。这第一次与阿里云大数据平台的邂逅堪称完美,在对仅用一天时间就搭建起来的推荐系统稍作修改,并设计了如何嵌入到自身业务系统中后,个性化推荐就和其他普通业务需求一样,在产品提出需求后的第一个发版中就快速上线了。整个推荐系统中数据采集,数据清洗,推荐计算以及结果获取如下图1所示。

 

3da218d241d597b8af04d463a72461a2ecfbcf4f

1. 推荐系统架构图

 

在这个架构中,我们选择了非常流行的开源 ETL 工具来对用户行为,物品,用户等推荐系统依赖的数据进行清洗,并按照推荐引擎要求的格式同步到大数据计算服务中。由持续集成工具 Jenkins 触发数据的清洗和上传到 ODPS MaxCompute 的前身)中。推荐系统从大数据计算服务中获取数据并进行离线计算,计算的结果存储于阿里云的表格存储中,用于在线计算的结果二次处理和返回。业务服务器通过推荐系统暴露的推荐接口获取对某个用户的推荐列表。我们是数加平台推荐引擎的第一批内测用户,得到了数加平台的大力的支持,使得真个推荐系统的接入都非常的顺利,也解答了很多关于大数据和推荐系统的小白问题。小红唇的团队在和数加平台的推荐引擎团队合作中快速的学习了大数据和推荐系统的相关知识,可以说是阿里云的推荐引擎为小红唇技术团队开启了大数据这扇神秘的大门。

 

这个架构简单清晰,但也有着很多不完美的地方,特别在数据的采集和清洗方面,还显得比较初级和脆弱,首先用户行为数据完全依赖了在APP中的埋点,而埋点的最初的设计也存在了一些问题导致数据缺失。另外,推荐引擎没有一个很好的触发机制,通过外部的持续集成工具 Jenkins 的触发,在初期有时会遇到推荐引擎系统不稳定的问题,导致离线计算失败,用户的推荐列表没有得到及时的更新。

 

随着推荐系统的上线,小红唇也开启了大数据之旅,得益于数加平台完整的大数据计算和应用设计,小红唇的技术团队在熟悉和上线推荐系统的过程中,也逐渐收获了大数据的核心理念,对大数据完整技术栈也有了更深的认识。

 

2016年是小红唇快速发展的一年,随着业务的不断增长,各种产品、市场运营活动的设计和决策也需要有各种各样的数据作为支撑了。于是在快速上线了推荐系统之后,摆在小红唇面前的另一个大数据挑战就是搭建自己的数据仓库。

 

在推荐系统的建设中,小红唇技术团队也意识到阿里云数加平台在普惠大数据理念上的前瞻性,整个数加平台产品线的布局对于像小红唇这样的初创公司,在大数据实践上是容易实现弯道超车的。

 

数据仓库的重要性毋庸置疑,在云计算和大数据时代,数据仓库的建设也在不断的进化中。开源生态中基于Hadoop/Hive搭建数据仓库的成功案例不胜枚举。数加平台基于MaxCompute(原ODPS,https://www.aliyun.com/product/odps)的强大计算能力,也正是对这一理念的完美诠释。于是小红唇技术团队也在横向对比之后,毅然决定在数加平台上进行数据仓库的建设。

 

小红唇基于数加平台的数据仓库搭建分成了两个阶段。第一阶段由于主要的业务服务器并没有部署在阿里云上,使得数据的采集和清洗变得比较麻烦,跨网的数据传输和备份,各种周期任务比较复杂。如图2所示。

 

2d36956138f76c8b858a4327664ffc0c7ee9f439

2. 第一阶段数仓架构

 

在第一阶段的数仓建设中我们已经在计划业务服务器向阿里云搬迁了,所以把数据需求最紧要的数据做了向 ODPS 的同步(同步方式也有用 DataX ODPS tunnel),在数据开发IDE中对数据进行ETLOLAP,产出BI报表。 另外还有一些数据会应用到业务系统中,我们通过 RDS 进行存储。

 

在数据仓库第一阶段的建设和使用中,我们已经在积极的筹备业务系统向阿里云的搬迁。随着搬迁的完成,我们也迅速开始了第二阶段的改造。同时更多的数加产品也在不断的内测和发布中,借助于新的产品和上下游的不断打通,我们的架构也进行了演进,如图3所示。

 

d30cc1499d6522346299c4dd936ee9713b2112ba

3. 第二阶段数仓架构

 

第二阶段与第一阶段主要的区别就在于数据采集和清洗部分是否直接纳入在数加平台内部,而对于数据仓库的建设而言,这两个环节又是非常重要的部分。在第二阶段中,我们的业务数据库已经在阿里云的RDS上了,通过DataIDE 就可以方便的把需要的数据同步到大数据开发平台中,这也是小红唇目前的架构。在把数据采集,数据清洗,数据开发和数据应用形成完整闭环后,小红唇在大数据领域的各种尝试和产出得到了巨大的发展:

 

首先,我们基于数据仓库的方法论在数加平台上建设的数据仓库,通过简单的命名规则就构建起各种层级和维度的数据,依赖MaxCompute(原ODPS,https://www.aliyun.com/product/odps)的强大计算能力,和简单的SQL处理语言,小红唇技术团队只有一名数据工程师就能快速生产出各种数据,以支撑各种BI报表。


第二,流计算的引入,提高了小红唇业务的实时表达能力而又没有增大开发成本。对某些业务还起到了异步,解耦和降级的作用,大大降低了对线上已有的复杂业务的影响,因而降低了开发和维护成本。

第三,与机器学习算法平台PAI的对接也帮助了小红唇技术团队在机器学习等高难度领域大数据应用的探索,比如我们尝试了训练回归模型对用户上传视频的打分,还有对文本的处理聚类等。

第四,基于统一的数据存储和计算,我们通过对用户的特征抽取,开发了自己的一套基于内容的推荐模型(通过用户对内容的行为,在ODPS中通过SQL/MR的计算生成用户特征,通过 DataX 存储在 OTS 中,在实时的计算中获取并对用户进行基于兴趣的内容推荐),和阿里云推荐引擎一起,为用户提供个性化内容,也取得了不错的效果。同时也在智能搜索方面做了初步的尝试。

 

当然,小红唇在数加平台上的大数据实践也并非一帆风顺,期间也有对于产品理解和数加平台自身的一些问题,比如初期大量的数据搬运和同步工作掣肘了业务的快速开发,MaxCompute(原ODPS,https://www.aliyun.com/product/odps)提供的算子不太丰富,需要自行开发udfMaxCompute2.0将会有巨大的改进,同时更多的上下游产品被打通),初期数加平台和其它上下游产品打通不够等等。但是数加平台强大的计算能力和完整的产品布局对小红唇的业务扩展和决策支撑起到了关键的作用。

 

技术的不断进化和升级需要匹配业务的水平和规模,对于小红唇这样的初创企业,背靠阿里云强大的平台,能够快速应用新技术并得到价值的转化,实现弯道超车,并不断完善自身技术架构和能力,在不断的创新中得到发展。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9988 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13770 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9141 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
7455 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7321 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
22349 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4457 0
+关注
隐林
阿里云大数据产品专家,擅长MaxCompute、机器学习、分布式、可视化、人工智能等大数据领域;
288
文章
38
问答
来源圈子
更多
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载