• 电话:0633-8278806

友盟+ CDO李丹枫:日均千亿数据,如何实现高效计

文章作者:admin 上传时间:2018-08-18

有人说,大数据火了多久,数据相关性弱、数据质量不高、数据处理过程复杂等问题就存在了多久。人工智能时代的到来不仅加剧了已有问题,也引入了一些新的难题,一方面,当前人工智能仍重度依赖数据,如何让大数据更好地服务于人工智能应用;另一方面,如何利用好人工智能这个工具让大数据的处理变得更加高效?在友盟+主办UBDC全域大数据峰会前期,InfoQ对【友盟+】CDO李丹枫进行了专访,探讨了在 AI 时代下,【友盟+】数据智能的生意经。

截止 2018 年Q1,【友盟+】服务 150 万款 App,710 万个网站,每天触达设备达到 14 亿。存量数据高达55PB,什么概念呢?如果拿一张 A4 纸,正反两面写满数字,把 A4 纸叠起来可以装 15 万辆卡车。

【友盟+】数据仓库有19000 张数据表。对于数据的挖掘、分析和运算,每天的运算量需要2 万个计算单元,相当于200个地球上的100亿人24小时的不间断的运算。如此庞大的数据量,一方面我们获得了天然的数据体量优势,另一方面,也给数据治理与整合、数据产品和数据团队带来了前所未有的挑战。均亿数据,如何实现高效计算?

Q:数据治理与整合,是如何实现的?

在数据整合方面,【友盟+】运用全域数据打通能力,将移动、PC、线下等跨终端、多场景数据打通,让数据实现了全域融合。

数据处理方面: 我们每天有几十亿个 ID 的数据回溯到数据训练平台上,这背后是巨大的计算量和计算资源的占用,对于数据工程师来说最重要的是需要协助数据科学家搭建有效的数据生产环境,保证计算的稳定性。

因此,数据全量更新或按需更新的选择直接决定了存储和计算资源的消耗量,也就是成本。 我们提出了“代码健康度”的概念,让数据团队一定要用最高效的方法来实现计算。尤其在数据体量巨大的场景下,比如说 100 亿个 ID,如果每个计算能提高 1%,能节省的资源是很大的。

在数据价值的挖掘工程中,我们也形成了一套高效的底层架构,例如数据清洗,打通后形成统一的宽表,建立 Universal User(device) Profile。绝大多数的数据挖掘和建模都基于这个 Profile。实现了和产品层面的隔离之后,产品的更新就不会影响后面的建模。我们还提供了完善的回溯功能,可以让用户的 Profile 回到历史上的任意一天(当然,有一个最早的可回溯点),这对严格意义上的建模是非常有意义的,有些场景是必备的功能,如在我们的金融风控场景中,美女电影'',是否可以回溯决定了模型效果的可信度。

Q:在高数据体量下,如何定义和实现高效计算?数据质量如何把关?

对于大数据的高效计算包括存储的高效,查找的高效和代码的高效。刚刚提到我们的表有19000 张,55PB,显然任何存储的优化都会带来巨大的经济效益。例如,我们所做的标签 ID 化,就可以在很多表上节约 70% 的空间。

高效的查找,是指对每一个生产表打标签,建立数据地图,这样我们就可以快速定位到我们想要的表。

代码的高效,主要是通过建立开发规范。这么大的数据量为避免数据重复开发和浪费,我们会对代码和命名进行有效规范。还可以通过方法论,比如说如何数据分层、统一语言,索引条件优先等级划分,都需要记录在开发规范中。每一段代码都会有健康度的评分,如果健康度低,运行程序的优先级就会降低。

Q:【友盟 +】数据体系架构设计经历了哪几个阶段的演进?

1)数据采集、传送和处理的整合,对我们的平台、工具、协议和底层的数据进行统一。这是我们数据打通,从而进行进一步数据价值挖掘的基础;

2)实时和离线计算的技术升级,在数据量激增的情况下保证服务的稳定性;