《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学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
12天前
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
42 4
|
2月前
|
SQL 存储 API
Flink实践:通过Flink SQL进行SFTP文件的读写操作
虽然 Apache Flink 与 SFTP 之间的直接交互存在一定的限制,但通过一些创造性的方法和技术,我们仍然可以有效地实现对 SFTP 文件的读写操作。这既展现了 Flink 在处理复杂数据场景中的强大能力,也体现了软件工程中常见的问题解决思路——即通过现有工具和一定的间接方法来克服技术障碍。通过这种方式,Flink SQL 成为了处理各种数据源,包括 SFTP 文件,在内的强大工具。
157 15
|
11天前
|
存储 数据挖掘 数据处理
巴别时代使用 Apache Paimon 构建 Streaming Lakehouse 的实践
随着数据湖技术的发展,企业纷纷探索其优化潜力。本文分享了巴别时代使用 Apache Paimon 构建 Streaming Lakehouse 的实践。Paimon 支持流式和批处理,提供高性能、统一的数据访问和流批一体的优势。通过示例代码和实践经验,展示了如何高效处理实时数据,解决了数据一致性和故障恢复等挑战。
95 61
|
16天前
|
消息中间件 监控 数据可视化
实时计算Flink场景实践和核心功能体验
本文详细评测了阿里云实时计算Flink版,从产品引导、文档帮助、功能满足度等方面进行了全面分析。产品界面设计友好,文档丰富实用,数据开发和运维体验优秀,具备出色的实时性和动态扩展性。同时,提出了针对业务场景的改进建议,包括功能定制化增强、高级分析功能拓展及可视化功能提升。文章还探讨了产品与阿里云内部产品及第三方工具的联动潜力,展示了其在多云架构和跨平台应用中的广阔前景。
49 9
|
17天前
|
运维 监控 安全
实时计算Flink场景实践和核心功能体验
实时计算Flink场景实践和核心功能体验
|
18天前
|
运维 数据可视化 数据处理
实时计算Flink场景实践和核心功能体验 评测
实时计算Flink场景实践和核心功能体验 评测
41 4
|
7天前
|
数据采集 运维 搜索推荐
实时计算Flink场景实践
在数字化时代,实时数据处理愈发重要。本文分享了作者使用阿里云实时计算Flink版和流式数据湖仓Paimon的体验,展示了其在电商场景中的应用,包括数据抽取、清洗、关联和聚合,突出了系统的高效、稳定和低延迟特点。
34 0
|
25天前
|
存储 小程序 Apache
10月26日@杭州,飞轮科技 x 阿里云举办 Apache Doris Meetup,探索保险、游戏、制造及电信领域数据仓库建设实践
10月26日,由飞轮科技与阿里云联手发起的 Apache Doris 杭州站 Meetup 即将开启!
53 0
|
1月前
|
SQL 消息中间件 分布式计算
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
37 0
|
6月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
236 14

相关产品

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

    更多
    下一篇
    无影云桌面