腾讯看点基于 Flink 的实时数仓及多维实时数据分析实践

腾讯看点基于 Flink 的实时数仓及多维实时数据分析实践

当业务发展到一定规模,实时数据仓库是一个必要的基础服务。从数据驱动方面考虑,多维实时数据分析系统的重要性也不言而喻。但是当数据量巨大的情况下,拿腾讯看点来说,一天上报的数据量达到万亿级的规模,要实现极低延迟的实时计算和亚秒级的多维实时查询是有技术挑战的。
本文将介绍信息流场景下,腾讯看点的实时数据仓库和多维实时数据分析系统的技术架构。
1、可解决的痛点
可以先看一下,多维实时数据分析系统可以解决哪些痛点。比如:
• 推荐同学 10 分钟前上了一个推荐策略,想知道在不同人群的推荐效果怎么样?
• 运营同学想知道,在广东省的用户中,最火的广东地域内容是哪些,方便做地域 Push。
• 审核同学想知道,过去 5 分钟,游戏类被举报最多的内容和账号是哪些?
• 老板可能想了解,过去 10 分钟有多少用户在看点消费了内容,对消费人群有一个宏观了解。
2、调研
在这里插入图片描述

在进行开发之前,我们做了这些调研。

  1. 离线数据分析平台能否满足这些需求,结论是不能满足。离线数据分析平台不行的原因如下。
    • C 侧数据上报过来,需要经过 Spark 的多层离线计算,最终结果出库到 MySQL 或者 ES 提供给离线分析平台查询。这个过程的延时最少 3-6 个小时,目前比较常见的都是提供隔天的查询,所以很多实时性要求高的业务场景都是不能满足的。
    • 另一个问题是,腾讯看点的数据量太大,带来的不稳定性也比较大,经常会有预料不到的延迟。所以,离线分析平台是无法满足很多需求的。
  2. 实时数据分析平台的话,事业群内部提供了准实时数据查询的功能,底层技术用的是 Kudu+Impala,Impala 虽然是 MPP 架构的大数据计算引擎,并且访问以列式存储数据的 Kudu。但是对于实时数据分析场景来说,查询响应的速度和数据的延迟都还是比较高,查询一次实时 DAU,返回结果耗时至少几分钟,无法提供良好的交互式用户体验。所以(Kudu+Impala)这种通用大数据处理框架的速度优势更多的是相比(Spark+Hdfs)这种离线分析框架来说的,对于我们这个实时性要求更高的场景,是无法满足的。
    3、项目背景在这里插入图片描述
    在这里插入图片描述

经过刚才的介绍,再来看下我们这个项目的背景。作者发文的内容被内容中心引入,经过内容审核链路,启用或者下架。启用的内容给到推荐系统和运营系统,然后推荐系统和运营系统将内容进行 C 侧分发。内容分发给 C 侧用户之后,用户会产生各种行为,曝光、点击、举报等,通过埋点上报实时接入到消息队列中。接下来我们做了两部分工作,就是图中有颜色的这两部分。
• 第一部分构建了一个腾讯看点的实时数据仓库。
• 第二部分就是基于 OLAP 存储引擎,开发了多维实时数据分析系统。
我们为什么要构建实时数仓,因为原始的上报数据量非常大,一天上报峰值就有上万亿条。而且上报格式混乱。缺乏内容维度信息、用户画像信息,下游没办法直接使用。而我们提供的实时数仓,是根据腾讯看点信息流的业务场景,进行了内容维度的关联,用户画像的关联

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值