关注公众号,了解一线大厂实时数仓最新资讯!
摘要:今天主要分享的内容是 Flink 在字节推荐实时特征体系的落地实践,分享日期:2021年5月22日。内容包括:
业务背景
新一代系统架构
问题与性能优化
未来规划
Tips:点击文末「阅读原文」即可回顾作者原版分享视频~
1. 业务背景
业务场景分为两大类:
第一类:西瓜和头条传统的Feed流,频道等推荐场景,每天数亿 DAU 规模
第二类:火山和抖音为代表的短视频 feed、关注、社交等推荐场景,每天国内6亿 DAU 规模
虽然都是推荐,但是底层都是对实时特征提取的依赖
1、统计最近一天,每个用户每一分钟对每一个作者的播放量和点赞量。
2、统计最近一天,每个用户点赞的所有作者,或者是点赞作者的TOPK列表
????上面这两种在抖音直播的用户场景还是非常多的(大家有没有思路)
生产规模:
消耗的资源规模:Flink 队列总计200k+ core,抖⾳场景单任务 CPU 15k+core,状态存储规模达 20T+
统计类型的特征数量:计数特征 3k+,窗⼝特征1k+
⽀持的特征类型:统计类型、序列类型、图类型、多维特征等
业务痛点:
⽤户需要⾃⾏基于 Flink 、Spark 引擎开发特征,随着特征的增多,维护成本逐步增⼤,缺乏统⼀的运维、监控平台
业务需要了解 Flink、Spark等计算引擎细节,对底层的KV、图存储也需要了解并且进⾏选型,特征开发⻔槛⾼,调优成本⼤
⽣产提出了更加复杂的需求,例如⽀持各种窗⼝计算 、TOPK 计算、多维聚合操作等,在现有特征服务体系下难以⾼效迭代
整个架构的演进也是紧跟时代潮流,作者的团队18年就开始迁移了到Flink,说明他们对行业的嗅觉非常灵敏,2020年迁移到flink-sql,这点也不错,方便代码维护,提高开发效率,2021年开始进行平台化升级。
2.新一代系统架构
整个特征体系来看,需要处理的数据逻辑是非常多而杂的,也就是事情比较多,各式各样特征都要去加工和维护,这就需要一个架构来做抽象处理,提高开发和维护效率
下面????是整个架构图,“轻在线,重离线”,在线不做复杂的逻辑计算,复杂逻辑让离线做。
数据源层:接入不同的数据源,且做统一的数据抽象meta管理,也就是统一schema化。
计算层:使用的是flink任务,第一层sql流式拼接层(表达用户的业务逻辑,对接所有依赖的数据源);第二层状态计算层;第三次状态存储层
存储层:存储到不同的存储引擎
这一点不错,工具化
这三个出发策略需要强化学习一下
3.问题和性能优化
4.未来规划
识别下方二维码,回复“字节01”,即可获取PPT下载地址,记得设为星标哦
喜欢点外卖的小伙伴,可以关注我的外卖领券公众号,每天都可以领取大额券
历史经典文章: