中间件与数据库:Flink
有赞实时计算 Flink 1.13 升级实践
随着有赞实时计算业务场景全部以Flink SQL的方式接入,对有赞现有的引擎版本—Flink 1.10的SQL能力提出了越来越多无法满足的需求以及可以优化的功能点。目前有赞的Flink SQL是在Yarn上运行,但是在公司应用容器化的背景下,可以统一使用公司K8S资源池,同时考虑到任务之间的隔离性以及任务的弹性调度,Flink SQL任务K8S化是必须进行的,所以我们也希望通过这次升级直接利社区的on K8S能力,直接将FlinkSQL集群迁移到K8S上。特别是社区在Flink 1.13中on Native K8S能力的支持完善,为了紧跟社区同时提升有赞实时计算引擎的能力,经过一些列调研,我们决定将有赞实时计算引擎由Flink 1.10升级到Flink 1.13.2。
3 (More) Tips for Optimizing Apache Flink Applications
Earlier this year, we shared our tips for optimizing large stateful Apache Flink applications. Below we’ll walk you through 3 more best practices.
Apache Flink运行时在B站的稳定性优化与实践
以Flink为基础的实时计算在B站有着广泛而深入的应用。
Flink SQL在B站的实践
目前在B站,线上大概有4000+的flink实时任务,主要支撑数据集成,实时数仓,模型训练,特征指标计算,以及增量化等业务。
Flink Unaligned Checkpoint 在 Shopee 的优化和实践
Flink 做为大数据流计算的标杆,通过 Checkpoint 和 State 保证了 Exactly Once 语义。在生产实践中,Shopee 遇到了很多 Checkpoint 的问题,并尝试引入 Flink 的 Unaligned Checkpoint 去解决。但调研后发现效果与预期有一定差距,所以在内部版本对其进行了深度改进,并将大部分改进已经反馈给了 Flink 社区。
本文会介绍 Checkpoint 存在的问题、Unaligned Checkpoint 原理、Shopee 对 Unaligned Checkpoint 的改进、对 Flink 社区的贡献以及内部的实践和落地。
JRC Flink流作业调优指南
Apache Flink作为Google Dataflow Model的工业级实现,经过多年的发展,如今已经成为流式计算开源领域的事实标准。它具有高吞吐、低时延、原生流批一体、高一致性、高可用性、高伸缩性的特征,同时提供丰富的层级化API、时间窗口、状态化计算等语义,方便用户快速入门实时开发,构建实时计算体系。
古语有云,工欲善其事,必先利其器。要想让大规模、大流量的Flink作业高效运行,就必然要进行调优,并且理解其背后的原理。本文是笔者根据过往经验以及调优实践,结合京东实时计算平台(JRC)背景产出的面向专业人员的Flink流作业调优指南。主要包含以下四个方面:
- TaskManager内存模型调优
- 网络栈调优
- RocksDB与状态调优
- 其他调优项
本文基于Flink 1.12版本。阅读之前,建议读者对Flink基础组件、编程模型和运行时有较深入的了解。
Flink在转转商业实时数仓的应用
作为第三代流处理引擎,Flink通过其优秀的吞吐能力和性能得到业内越来越多的认可,在转转商业实时数仓演进中起到关键作用,其灵活的API、强大的状态管理和容错机制,给研发人员留下深刻印象。
基于Flink+Starrocks建设之家广告实时数据
汽车之家广告主题离线数仓从2015年开始建设至今,一直能够满足车智投、DSP等广告业务的日常分析及报表支持。
字节跳动 Flink 状态查询实践与优化
本篇文章介绍了字节跳动在 Flink 状态查询方面所进行的优化,解决了查询 Flink 任务状态时开发成本高及无法查询状态元信息等问题,提出了 State Query on Flink SQL 的解决方案,让用户使用 Flink Batch SQL 就可以快速查询 Flink 任务状态。
字节跳动使用 Flink State 的经验分享
本文主要分享字节跳动在使用 Flink State 上的实践经验,内容包括 Flink State 相关实践以及部分字节内部在引擎上的优化,希望可以给 Flink 用户的开发及调优提供一些借鉴意义。
基于 Flink + Hudi 的实时数仓在 Shopee 的实践
Apache Hudi 是业内基于 Lakehouse 解决方案中的典型组件,本文将介绍 Shopee Marketplace 业务使用 Flink + Hudi 构建实时数据仓库的实践。
Apache Flink: Watermark对Window窗口的影响
Apache Flink流式数据处理中,如何针对时间维度乱序数据在Window中进行正确计算呢?准备一份含有时间维度的乱序数据。
7 Tips For Optimizing Apache Flink Applications
We’ve spent a lot of time on performance tuning our Apache Flink application. We’ll walk you through key lessons for optimizing large stateful Apache Flink applications.
Flink运维体系在贝壳的实践
Flink作为新一代的实时计算引擎在贝壳越来越多的应用场景下被应用,本篇文章将会讲述贝壳实时计算团队基于Flink指标在任务监控报警、资源分析与调优、运维提效以及容器化相关的实践。
Scaling Shopify's BFCM Live Map: An Apache Flink Redesign
A deep dive into how Shopify Data revamped the data infrastructure powering our BFCM live map using Apache Flink.
汽车之家基于Apache Flink的跨数据库实时物化视图探索
物化视图这一使用的功能想必大家都不陌生,我们可以通过使用物化视图,将预先设定好的复杂SQL逻辑,以增量迭代的形式实时(按照事务地)更新结果集,从而通过查询结果集来避免每次查询复杂的开销,从而节省时间与计算资源。
事实上,很多数据库系统和OLAP引擎都不同程度地支持了物化视图。另一方面,Streaming SQL本身就和物化视图有着很深的联系,那么基于Apche Flink(下称Flink) SQL去做一套实时物化视图系统是一件十分自然而然的事情了。
本文介绍了汽车之家(下称之家)在基于Flink的实时物化视图的一些实践经验与探索,并尝试让用户直接以批处理SQL的思路开发Flink Streaming SQL 任务。希望能给大家带来一些启发,共同探索这一领域。