


Flink SQL 在快手的落地和扩展
张静|快手实时计算团队技术专家
张芒|快手实时计算团队技术专家
为了降低用户学习成本和运维成本,提高数据研发同学的开发效率,快手实时计算团队在过去一年大力推广 Flink SQL。在 2021 年春节,五一,奥运以及各类活动中,Flink SQL 新增任务占比高达 80%。
为了满足各个业务方对功能和性能上的要求,团队在 Flink SQL 模块的功能上和性能上都做了很多扩展和实践。每一项扩展都遵循 ANSI SQL 标准,大部分功能已经回馈到社区,其他功能也在梳理和准备中,我们希望所有的功能都可以回馈给社区。
本次分享重点介绍广泛受到内部用户认可的几点扩展和优化,希望对大家有帮助和启发。
Flink State-Backend
Improvements and Evolution in 2021
介绍 Flink 开源社区 2021 年在 checkpoint savepoint state-backend 方面的新增功能和优化,包括:
Savepoint 统一格式,支持 state backend 切换;
Unaligned checkpoint 完善和优化,以及在生产作业下的实践效果;
State backend 用户接口重构;
State 访问延迟方面的监控增强和优化;
RocksDB state backend 相关的优化,包括 RocksDB 版本升级、内存管控下性能相关的一系列优化;
未来规划,包括 fast checkpoint设计,savepoint/checkpoint 概念统一等。
Powering HTAP
at ByteDance with Apache Flink
ByteHTAP 简要介绍: 为什么字节需要一个 HTAP 系统; ByteHTAP 各组件架构; 选择 Flink SQL 作为 AP Engine 的原因; ByteHTAP AP Engine 详细介绍; Flink OLAP 遇到的挑战和优化工作: 计算性能比对和优化实践; 可迁移性优化和收益; 稳定性; 调度性能; 正在进行的工作以及未来展望。
深入解析 Flink 细粒度资源管理
郭旸泽|阿里巴巴高级开发工程师,Apache Flink Contributor
细粒度资源管理的适用场景;
Flink 资源调度框架;
基于 SlotSharingGroup 的资源配置接口;
动态资源切割机制;
插件化的资源申请策略;
未来展望。
Flink Join 算子优化
对 Apache Flink 引擎 Table API SQL 语义下现有的 Join 算子的实现逻辑和存在的问题进行剖析,并结合美团实际需求与实践进行性能优化,扩展可支持的场景。具体分为:
Join 算子现有实现和存在的问题; Regular Join 算子 mini-batch 优化; Interval Join 算子 1 对 N 关联优化; Join 算子优化在美团的落地与实践。
Flink 新一代流计算和容错
- 阶段总结和展望
梅源|阿里巴巴开源大数据架构师,Apache Flink 引擎架构师,Apache Flink Committer
Flink 以流式计算起家,以实时计算为切入点,在大数据计算引擎中脱颖而出。在积极推进计算实时化,流批一体,湖仓一体,与 AI 融合,云原生以及 Stateful Function 的同时,Flink 也从未停止在流式计算方面演进的步伐。特别是随着 Flink 的应用场景越来越宽泛,对 Flink 的容错架构提出了更多样化的需求。
所以这个 talk 以 Flink 容错为切入点,从三个方面来总结社区在新一代 Flink 容错模型上近一年来所做的一些工作和对未来的展望,包括:
通用快照加速; 状态管理新模型; 以及和云原生相结合的 Flink 扩缩容。
Improvements of Job Scheduler
and Query Execution on Flink OLAP
HTAP 是统一 OLTP 和 OLAP 为一体的数据库,在字节 ByteHTAP 项目中,采用 Flink 作为 OLAP 执行引擎,采用 Mysql protocol lib + flink-sql-gateway + flink session cluster on k8s 部署搭建,能够接收 Flink SQL 并执行,然后将结果直接返回。单个 OLAP Query 要求运行时间短,且集群能够支持高 QPS。故本次分享将介绍 Flink 在支持 OLAP 需求时遇到的调度和执行挑战和优化。
背景: Flink 支持 Standalone/Session Cluster 模式,可以直接初始化一批资源对外提供服务;另外 Flink Batch Job 支持 Pipeline 模式,该运行模式类似于 MMP 架构,故能够承担 OLAP Query 查询场景。在 OLAP 场景下,单个 Session Cluster 需要支持同时运行多个 Query;单个 Query 执行时间短,故需要承担更高 QPS 查询。Flink 现有的调度流程长,在小 query 的情况下,单次作业调度耗时在整个 query 耗时中的占比更为明显,同时多个作业同时调度的能力也有待增强; 现状分析及优化思路; 单任务调度优化; 多任务并发调度优化; 业务收益; 未来规划。
面向流批一体的 Flink Runtime 新进展
Trisk:在 Flink 上实现
以 task 为中心的流处理动态
reconfiguration 的 control plane
毛言粲|新加坡国立大学
由于流处理的长期运行和不可预测的性质,任何静态配置的流任务的执行都无法及时有效地处理数据。为了达到流处理的性能要求,动态重新配置(reconfiguration)流任务的技术很关键。
在本次演讲中,我们将介绍 Trisk,这是一个以 task 为中心的 control plane,它支持对流处理的 reonfiguration 进行定义和实现,比如 scaling 和 load balancing,同时,提供了易于使用的编程 API 并且能够保持高效执行 reconfiguration。
Trisk 提供了以 task 为中心的配置抽象,并封装了原子操作,以便可以通过在抽象上组合原子操作来定义 reconfiguration。为了提高效率,不同于 Flink 本身提供的重启更新配置技术,Trisk 采用了部分暂停和恢复的技术来执行 reconfiguration,并且我们的封装可以进一步利用 Flink 系统中的 Checkpoint 同步机制来实现一致性。
我们在 Apache Flink 上实现了 Trisk,并将展示它在现实应用场景下的用法和性能。与最先进的 reconfiguration 技术相比,Trisk 能以更短的完成时间和相对可容忍的延迟执行重新配置。
Flink Connector 社区新动向
与 Hybrid Source 原理实践
任庆盛|阿里巴巴开发工程师,Apache Flink Contributor
蒋晓峰|阿里巴巴技术专家,Apache RocketMQ & Apache ShardingSphere & SOFAJRaft Committer,Apache Flink Contributor
Connector 测试框架(Testing Framework),为 Connector 提供统一的测试规范和标准用例; 水印对齐(Watermark Alignment)为 Source 提供全局水印的控制能力; 混合数据源(Hybrid Source API)的基础原理与最佳实践,以及从多个数据源读取数据提供 CDC 和机器学习数据回填场景的解决方案 等功能,并向开发者展示如何使用这些新功能基于 FLIP-27 Source API 和 FLIP-143 Sink API 快速构建起一个全新的 connector,以及 Flink connector 在社区未来的发展方向与规划。
基于 FFI 的 PyFlink
下一代 Python 运行时介绍
黄兴勃|阿里巴巴高级开发工程师,Apache flink committer,Pyflink 核心贡献者
简单介绍 PyFlink 最新的功能; 介绍基于 FFI 的多语言调用工具 JCP; 介绍 PyFlink 现有的 Python 运行时及基于 JCP 构建的下一代 Python 运行时的架构及优势。
StateBackend Performance
Improvements with Cache
李明|字节跳动基础架构工程师,Apache Flink contributor
现有 StateBackend 的基本原理: 业务使用过程中遇到的痛点; FilesystemStateBackend 在状态比较大时,GC 停顿时间长,业务有感知; RocksDBStateBackend 的序列化/反序列化开销重,CPU 使用量高; 选型困难,状态增长后切换 StateBackend 是有损的; 优化思路及整体架构设计; 技术难点及关键模块设计: Cache 的淘汰策略; Cache 占用的内存大小预估以及不超过限制; Cache 动态调整大小; Cache 制作快照; 业务收益; 未来规划。
为实时机器学习设计的
算法接口与迭代引擎
林东|阿里巴巴高级技术专家,Apache Kafka PMC Member
高赟|阿里巴巴技术专家,Apache Flink Committer
本次演讲中,我们将介绍在 Apache Flink 机器学习库 (Flink ML) 中已经完成的工作,近期的发展计划,以及 Flink ML 的发展愿景。
我们设计了原生支持实时机器学习的算法接口,算法使用者可以更容易配置,组合和部署在线预测算法和在线学习算法。所设计的算法接口可以支持多输入多输出,以及将算法模块以有向图的方式进行组合使用。我们设计并实现了基于 DataStream 的迭代引擎,以取代基于 DataSet 的迭代引擎。针对各种算法的需求,我们设计了更容易使用的迭代引擎接口,为算法开发者优化算法性能提供更丰富的接口选择。
我们计划按照新设计的算法接口以及迭代引擎,将阿里云研发多年的 Alink 算法库改造并贡献进入 Flink ML。通过将 Apache Flink 的强大社区生态,技术领先的 Alink 算法库,与新设计的算法接口结合在一起,我们希望做到优势互补,帮助 Flink ML 成为最容易使用的,覆盖最多算法的,以及应用最广泛的流批一体机器学习算法库。

Flink Forward Asia 2021 赞助与合作


戳我,报名 FFA 2021 大会!




