《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink 在 B 站的多元化探索与实践(2)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink 在 B 站的多元化探索与实践(2)

《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink  在 B 站的多元化探索与实践(1) https://developer.aliyun.com/article/1228231



2.增量化

image.png


B站的增量化方案由Flink+Hudi构成,架构如上图所示。Flink计算引擎的 checkpoint 是一个天然的增量化机制,实时任务进行一次 checkpoint,产出一批增量数据进行增量化处理。数仓来源主要有日志数据和 binlog 数据,日志数据以append方式写入 HDFS 存储即可做到增量化的生产,但binlog 数据是 update 模式,使用HDFS 无法很好的支持,因此B站引入了 Hudi 存储,它能够支持 update 操作,并且具备一定的数据布局能力,同时它也可以做 Append 存储,并且能够解决 HDFS 的一些小文件问题。  


增量化场景的落地上,考虑到复杂性选取了业务逻辑相对简单、没有复杂聚合逻辑的 ODS 和 DWD 层进行落地。  


数据由 Flink 直接写到 Hive 的 ODS 层,我们对此进行了针对性的适配,支持了 Hive 表的增量化读取,开发了 HDFSStreamingSource,同时为了避免对 HDFS 路径频繁扫描的压力,ODS 层写入时会进行索引创建,记录写入的文件路径和时间,只需要追踪索引文件即可;


Source侧也采取分层架构,有文件分发层和读取层。文件分发层进行协调,分配读取文件数,防止读取层某个文件读取过慢堆积过多文件,中间的转换能够支持 FlinkSQL 操作,具备完整的实时数仓的能力;


Sink侧引入了 Hudi connector,支持数据 Append 写入 Hudi。B站还对 Hudi 的 compaction 机制进行了一些扩展,主要有三个:DQC 检测、数据布局的优化以及映射到 Hive 表的分区目录。


image.png


除了日志数据,B站对CDC也采用相同的方案,使得ODS到DWD的数据时效性有了明显提升。从数据生产到 DWD 可见提高到了分钟级别,DWD层的生产完成时间也从传统的 2-5点提前到了凌晨 1 点之前。此外,采用 Hudi 存储也为日后的湖仓一体打下了以一个好的基础。  



《Apache Flink 案例集(2022版)》——3.机器学习——Bilibili-Flink  在 B 站的多元化探索与实践(3) https://developer.aliyun.com/article/1228224

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
1月前
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
22 0
|
27天前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
110680 81
阿里云实时计算Flink的产品化思考与实践【下】
|
1月前
|
SQL Java API
官宣|Apache Flink 1.19 发布公告
Apache Flink PMC(项目管理委员)很高兴地宣布发布 Apache Flink 1.19.0。
1344 1
官宣|Apache Flink 1.19 发布公告
|
1月前
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
142 3
|
1月前
|
XML Java Apache
Apache Flink自定义 logback xml配置
Apache Flink自定义 logback xml配置
152 0
|
1月前
|
存储 机器学习/深度学习 Apache
Apache Hudi与机器学习特征存储
Apache Hudi与机器学习特征存储
29 0
|
1月前
|
消息中间件 Java Kafka
Apache Hudi + Flink作业运行指南
Apache Hudi + Flink作业运行指南
85 1
|
1月前
|
缓存 分布式计算 Apache
Apache Hudi与Apache Flink更好地集成,最新方案了解下?
Apache Hudi与Apache Flink更好地集成,最新方案了解下?
60 0
|
1月前
|
监控 Apache 开发工具
Apache Flink 1.12.2集成Hudi 0.9.0运行指南
Apache Flink 1.12.2集成Hudi 0.9.0运行指南
67 0
|
1月前
|
存储 机器学习/深度学习 分布式计算
Apache Hudi在Hopsworks机器学习的应用
Apache Hudi在Hopsworks机器学习的应用
28 0

相关产品

  • 实时计算 Flink版
  • 推荐镜像

    更多