快手基于Flink构建实时数仓场景化实践

关注公众号,了解一线大厂实时数仓最新资讯!

摘要:今天主要分享的内容是 Flink 在快手的实践和应用,分享日期:2021年5月22日。内容包括:

  1. 快手实时计算场景

  2. 快手实时数仓架构及保障措施

  3. 快手场景问题及解决方案

  4. 未来规划

Tips:点击文末「阅读原文」即可回顾作者原版分享视频~

1. 快手实时计算场景

主要是分为四大块:

  1. 公司级核心数据大盘:主要是提供公司大盘指标,还有不同业务线的核心指标,提供实时看板

  2. 大型活动的实时指标:最核心的事情就是活动的实时大屏,比如春晚活动,会有一个总体的大屏,会看总体的活动现状,因为大型活动有氛围n多个不同的模块,每个模块会根据不同的玩法提供实时看板。

  3. 运营数据体系:主要是包括两块,创作者和内容,比如我上线了一个大v的活动,我非常想看到这个直播间的现状以及这个直播间对大盘的牵引情况,还有一个运营的策略调整。

  4. 实时特征:给搜索推荐和广告提供实时特征数据。

2. 快手实时数仓架构及保障措施

目标:

  1. 数据准确性,离线差异1%以内

  2. 数据延迟,活动核心报表<5min

  3. 数据稳定性,数据不出现尖刺掉坑

难点:

  1. 数据量大,数据量万亿级别,QPS峰值亿/秒

  2. 组件依赖复杂,链路涉及5~6个组件(kafka,kv,rpc接口,olap引擎)

  3. 链路复杂,200+核心业务实时作业,50+核心数据源,整体作业量级超过1000+


基于以上难点,我们看一下数仓架构:

  • 最下层接入了3个不同的数据源

  • 公共基础层做了两层,dwd(明细数据)和wds(公共聚合数据),dim层就是常说的维度。在这个层级上做主题与分层:流量、用户设备、直播生产、指标消费、社交、视频生产、视频消费、风控等等

  • dwd主要核心做的是标准的化的清洗

  • dws层主要是把维度的数据和dwd层做关联,生产一个通用粒度的聚合层次。

  • 应用层主要是支持大盘的数据,多维分析模型,业务专题数据

整体分为三步:1、业务数据化,把数据接入进来 2、数据资产化,资产化就是把数据内容进行清洗,形成规则有序的数据 3、数据业务化,我们可以这么理解实时数据可以反哺业务的,为数据价值建设提供一些赋能。

基于上面的分层模型,我们来看一下保障措施(干货!!!!反复看)

  1. 质量保障,蓝色部分

  2. 时效保障,绿色部分

  3. 稳定性保障,黄色部分

3. 快手场景问题及解决方案

下面是快手的春晚应用场景,主要是统计每个页面来了多少人,某个挂件点击了多少人,曝光了多少人。

我们抽象一下这个场景。就是写sql,简单点就是从一个表查询,通过筛选条件取数据,然后通过维度聚合。

  • 按照热点key做分桶

  • 通过localwindow agg做聚合,然后再按照维度合桶global window agg,主要是解决热点key的问题。

遇到了问题:

  1. 重启掉坑

  2. 曲线点无法对其

  3. 回溯曲线一场

  4. 重启不平滑

解决方案:

watermark+event_time

4. 未来规划


识别下方二维码,回复“快手01”,即可获取PPT下载地址,记得设为星标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值