37手游基于云平台的大数据建设实践

2022-10-13  本文已影响0人  Flink中文社区
685-383.jpg

本文整理自 37 手游大数据平台资深开发工程师史飞翔在实时数仓 Workshop · 广州站的演讲。主要内容包括:

  1. 云平台大数据建设背景
  2. 云平台大数据建设方案
  3. 应用实践
  4. 未来规划

首先介绍一下背景。我们之前是自建的大数据集群,考虑到集群未来的扩展性、稳定性以及成本问题,决定大数据全部上云,今天的分享就是基于 IDC 集群上云的建设实践。

一、云平台大数据建设背景

1.jpg

首先看一下这张图,做大数据的同学对这些组件应该都很熟悉,刚开始我们也一样,像动物园一样,管理了很多 “小动物”。

以上是我们大数据演进的过程,下面先分析一下 IDC 集群的情况。

2.jpg

基于IDC集群的综合评估,跟云上做了一个对比。主要是两个方面:一是技术,二是业务。

3.jpg

右边图是随着节点数的增加自建机房与基于阿里云的对比。在集群节点不断扩大的情况下,可以看到自建机房的单位成本逐渐增高,基于阿里云的单位成本基本稳定不变。

从技术上:

  1. 上云后用到的组件很少,维护成本低。
  2. 统一套件,统一开发流程,极大的提高开发效率。
  3. 实时计算开发更便捷。上面也讲到了,实时计算只需写一条 SQL 就可以了,快捷。
  4. 监控齐全。以前任务出现问题很难发现,现在有了配套的监控就可以及时的发现。

从业务上:

  1. 可以空出更多的时间做更有业务价值的东西,数据赋能业务。
  2. 数据的时效性。之前有的 15 分钟、30 分钟跑一次,现在是实时的,这是很明显的对比。
4.jpg

从上图的对比可以看出,上云之后我们对组件做了简化。

  1. 从流计算开始,Flink 社区版、Spark、Storm 直接用实时计算 Flink 替代。
  2. 第二是离线计算,之前用 Hadoop、hive、Spark,现在统一存在 MaxCompute。
  3. 最后一个是 OLAP 数据库,包括之前的 ClickHouse、Presto、Kylin、Druid 等,现在全部用 Hologres 替代。
5.jpg

总体来说有以下几个方面的变化:

二、云平台大数据建设方案

6.jpg

先看一下总体方案设计:

最后一层是用到 Quick BI 做展示,包括用户画像也是基于 StarRocks 和 HBase 做一个查询。以上是整体的方案,下面讲一下具体的实时数仓和离线数仓。

7.jpg

接下来会讲五个场景。

8.jpg

第一个场景,我们用到数据集成,将 MySQL 数据、Kafka 数据通过 DataWorks 的数据集成写到 Hologres,这就是数据同步。第二种方式是 MySQL 的数据可以通过 Flink CDC 特性同步到 Hologres,这个过程只是一个简单的同步,没有做任何数据的处理。下面这些是日常开发的任务。

9.jpg

第二个场景会经过简单的计算,这里并未涉及到数据分层,直接通过简单计算落到实时数仓。有时需要对数据进行维度的扩展,所以我们会在 Hologres 做一个视图,视图进行数据表和配置表的关联。但是这里有一个问题就是会对性能有一个损耗,如果数据量很大,则不建议这个方式。如果是比较小的数据,计算不复杂,可以走这个链路,最终做一个展示。

10.jpg

看一下应用案例:

11.jpg

这是第三个场景:

我们的数仓大致分了这几个域,分别是用户域、设备域、交易域、广告域、运营域、客服域、公共域,以上是数仓分域情况。

12.jpg

第四个场景:

13.jpg

第五个场景,就是刚刚提到的 Kafka 数据有时维度不够,要做维多扩展。所以我们会去 Hologres 里面取行存表,行存表点查的能力很强,通过行存表补充维度信息,最终落到 Hologres 宽表。

14.jpg

上图是 Lookup 的场景:

15.jpg

上图是一个实践方式:

最后,看一下实时数仓对我们有哪些影响。

16.jpg

先看解决了哪些问题:

再看带来了哪些价值?

三、应用场景

17.jpg

上图是关于游戏的生命过程。

  1. 一个游戏的诞生首先是从创意开始,怎样策划一个游戏。

  2. 策划完第二步就是做研发,一个游戏能不能长期留住玩家,这一步是最关键的,包括关卡设置,关卡难度,游戏画面等等。

  3. 第三步是游戏发行,研发完成后即是游戏推广了,不然就算这个游戏再好玩,没人知道、没人玩也是没有收益的,酒香也怕巷子深。

  4. 发行完后最关键的就是如何留住玩家,如何长期留住玩家,在线游戏运营是重要的一个环节,维护一个良好的游戏生态。

  5. 最终是获益。

因为我们是一个发行公司,所以我们主要在做买量优化、异常检测、高价值玩家的预测、用户画像、效果分析等等,重点是在推广和运营。接下来重点讲买量优化以及游戏运营。

18.jpg

上图是买量优化简单的流程图。我们会拿到一个玩家的历史数据,然后去分析特征,再结合运营平台的运营数据做一个预测,预测哪些是高留存玩家。然后会基于这些高留存玩家在投放平台进一步的投放相关游戏,最后基于投放效果数据进行反复的迭代模型、分析效果等。

19.jpg

上图是自助分析的场景,我们的数据后台大部分是给 B 端用的,此前的一个开发模式是比较传统的,数据开发同学负责报表数据的开发,展示由前端去做页面的开发,业务从提一个需求到排期再到交付,这个过程可能要花 1-2 周。但是有了自助分析平台,我们用的是 Quick BI,业务提需求后只需要做数据集就可以完成自助分析,大概半天的时间就可以完成,甚至业务自己也可以完成一些简单的需求。

20.jpg

上图是精细化运营,当我们做一个活动,比如发放代金券或者礼包的时候,会跟踪发放的后续情况。这里做了 AB 测试,我们先圈选一部分人,再分成 AB 两个批次,每批次 50%,后续会对这些人做触达,比如发短信,或者在游戏里发代金券等。做完这些活动之后再去统计分析活动效果,右边就是统计的结果,看看做这个活动对玩家会产生怎样的影响。

21.jpg

这是我们用到的一个画像数据,这个画像数据其实做挺久了,从 2019 年就开始做,并且在不断的迭代,所以现在画像是很完善的。不但可以分析基础的数据,还会基于人群去做分析。基于复杂的条件圈选人群包,因为基于人群包做投放,所以还会对人群包后续的情况做一个效果的分析,包括留存的情况,LTV 数据等。

22.jpg

上图是智能诊断,大家应该也会遇到这样的问题,如果数据有问题,一般得等到业务发现之后才进行反馈。而我们在做的这个事情,可以比业务更早发现异常的数据,这就是智能化的诊断。像右边红色部分那里一样,自动检测出异常点。比如发行了一个游戏后,某一天或者某一刻充值突然下滑(当然也有可能是上升),想知道哪些指标的影响比较大,就可以基于异常点做一个更详细的归因分析,比如我们分析出这个游戏是《斗罗大陆》或者《云上城》导致的,可以自动分析出来每个维度对游戏指标产生价值的排名,看哪些维度对这个影响最大。

四、未来规划

23.jpg
上一篇 下一篇

猜你喜欢

热点阅读