FFA 2021 专场解读 - Flink 核心技术

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 核心技术专场,一线技术专家们带来 Flink 技术动向与应用实践

图片

GitHub 地址
https://github.com/apache/flink
欢迎大家给 Flink 点赞送 star~

12 月 4-5 日,北京国家会议中心,Flink Forward Asia 2021 重磅开启,全球 40+ 多行业一线厂商,80+ 干货议题,带来专属于开发者的技术盛宴。

其中,核心技术专场,由 Apache Flink 核心贡献者与来自阿里巴巴、字节跳动、快手、美团等一线技术专家解析 Flink 技术动向与应用实践。

点击链接了解完整大会议程:

https://flink-forward.org.cn/

图片

Flink SQL 在快手的落地和扩展

张静|快手实时计算团队技术专家

张芒|快手实时计算团队技术专家

为了降低用户学习成本和运维成本,提高数据研发同学的开发效率,快手实时计算团队在过去一年大力推广 Flink SQL。在 2021 年春节,五一,奥运以及各类活动中,Flink SQL 新增任务占比高达 80%。

为了满足各个业务方对功能和性能上的要求,团队在 Flink SQL 模块的功能上和性能上都做了很多扩展和实践。每一项扩展都遵循 ANSI SQL 标准,大部分功能已经回馈到社区,其他功能也在梳理和准备中,我们希望所有的功能都可以回馈给社区。

本次分享重点介绍广泛受到内部用户认可的几点扩展和优化,希望对大家有帮助和启发。

Flink State-Backend Improvements and Evolution in 2021

李钰|阿里巴巴资深技术专家,ASF Member,Apache Flink & HBase PMC

唐云|阿里巴巴技术专家,Apache Flink committer

介绍 Flink 开源社区 2021 年在 checkpoint / savepoint / state-backend 方面的新增功能和优化,包括:

  1. Savepoint 统一格式,支持 state backend 切换;
  2. Unaligned checkpoint 完善和优化,以及在生产作业下的实践效果;
  3. State backend 用户接口重构;
  4. State 访问延迟方面的监控增强和优化;
  5. RocksDB state backend 相关的优化,包括 RocksDB 版本升级、内存管控下性能相关的一系列优化;
  6. 未来规划,包括 fast checkpoint设计,savepoint/checkpoint 概念统一等。

Powering HTAP at ByteDance with Apache Flink

刘洋|字节跳动基础架构工程师,Apache Flink Contributor

邹丹|字节跳动基础架构工程师,Apache Flink Contributor

ByteHTAP 是字节内部自研的 HTAP 系统,该系统选取 Flink 作为其 AP 计算引擎。本次分享将介绍 Flink 作为 OLAP 引擎遇到的挑战以及相关优化。

  1. ByteHTAP 简要介绍:
    • 为什么字节需要一个 HTAP 系统;
    • ByteHTAP 各组件架构;
    • 选择 Flink SQL 作为 AP Engine 的原因;
  2. ByteHTAP AP Engine 详细介绍;
  3. Flink OLAP 遇到的挑战和优化工作:
    • 计算性能比对和优化实践;
    • 可迁移性优化和收益;
    • 稳定性;
    • 调度性能;
  4. 正在进行的工作以及未来展望。

深入解析 Flink 细粒度资源管理

郭旸泽|阿里巴巴高级开发工程师,Apache Flink Contributor

在 Flink 1.14 中,社区引入了一种新的细粒度的方式来管理资源,它使得用户可以通过调整算子的资源开销的方式来提高作业的资源效率。在本篇演讲中,我们将通过一个具体的任务实例,阐述该特性的适用场景,发散并深度解析细粒度资源管理中的技术细节与设计选择。主要包含以下内容:

  1. 细粒度资源管理的适用场景;
  2. Flink 资源调度框架;
  3. 基于 SlotSharingGroup 的资源配置接口;
  4. 动态资源切割机制;
  5. 插件化的资源申请策略;
  6. 未来展望。

Flink Join 算子优化

孙梦瑶|美团资深开发工程师

对 Apache Flink 引擎 Table API / SQL 语义下现有的 Join 算子的实现逻辑和存在的问题进行剖析,并结合美团实际需求与实践进行性能优化,扩展可支持的场景。具体分为:

  1. Join 算子现有实现和存在的问题;
  2. Regular Join 算子 mini-batch 优化;
  3. Interval Join 算子 1 对 N 关联优化;
  4. Join 算子优化在美团的落地与实践。

Flink 新一代流计算和容错 - 阶段总结和展望

梅源|阿里巴巴开源大数据架构师,Apache Flink 引擎架构师,Apache Flink Committer

Flink 以流式计算起家,以实时计算为切入点,在大数据计算引擎中脱颖而出。在积极推进计算实时化,流批一体,湖仓一体,与 AI 融合,云原生以及 Stateful Function 的同时,Flink 也从未停止在流式计算方面演进的步伐。特别是随着 Flink 的应用场景越来越宽泛,对 Flink 的容错架构提出了更多样化的需求。

所以这个 talk 以 Flink 容错为切入点,从三个方面来总结社区在新一代 Flink 容错模型上近一年来所做的一些工作和对未来的展望,包括:

  1. 通用快照加速;
  2. 状态管理新模型;
  3. 以及和云原生相结合的 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 需求时遇到的调度和执行挑战和优化。

  1. 背景: Flink 支持 Standalone/Session Cluster 模式,可以直接初始化一批资源对外提供服务;另外 Flink Batch Job 支持 Pipeline 模式,该运行模式类似于 MMP 架构,故能够承担 OLAP Query 查询场景。在 OLAP 场景下,单个 Session Cluster 需要支持同时运行多个 Query;单个 Query 执行时间短,故需要承担更高 QPS 查询。Flink 现有的调度流程长,在小 query 的情况下,单次作业调度耗时在整个 query 耗时中的占比更为明显,同时多个作业同时调度的能力也有待增强;
  2. 现状分析及优化思路;
  3. 单任务调度优化;
  4. 多任务并发调度优化;
  5. 业务收益;
  6. 未来规划。

面向流批一体的 Flink Runtime 新进展

高赟|阿里巴巴技术专家,Apache Flink Committer

随着 Flink 在实时分析场景与实时/离线融合分析场景的进一步应用,我们在社区与内部针对 Flink Runtime 也做了进一步的优化。

针对这两种场景,继 Flink 1.13 优化了调度的性能后,Flink 1.14 进一步优化了部署的性能,从而减少 Failover 引起的实时分析作业延迟以及离线处理场景中的非执行开销。此外,在社区和内部我们也在尝试通过减少 Checkpoint 时需要保留的数据量与减少需要重启的任务数量来进一步降低实时作业中由 Failover 引起的抖动。

对于实时/离线融合分析场景,Flink 进一步完善了流模式下 E2E 一致性的实现,从而保证两种模式下执行结果的一致性。此外,对于批模式我们进一步推出了 Remote Shuffle Service,从而通过存储-计算分离进一步提高作业的稳定性。我们也在尝试提供更多的实时/离线融合分析的工具,从而在更多的场景中简化用户数据分析的复杂度。

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

作为 Flink 生态中的重要一环,Connector 致力于为开发者提供更多样的开发支持和更丰富的功能。本次演讲将介绍 Flink Connector 在 Flink 1.14 和 1.15 中推出的全新特性,包括:

  1. Connector 测试框架(Testing Framework),为 Connector 提供统一的测试规范和标准用例;
  2. 水印对齐(Watermark Alignment)为 Source 提供全局水印的控制能力;
  3. 混合数据源(Hybrid Source API)的基础原理与最佳实践,以及从多个数据源读取数据提供 CDC 和机器学习数据回填场景的解决方案 等功能,并向开发者展示如何使用这些新功能基于 FLIP-27 Source API 和 FLIP-143 Sink API 快速构建起一个全新的 connector,以及 Flink connector 在社区未来的发展方向与规划。

基于 FFI 的 PyFlink下一代 Python 运行时介绍

黄兴勃|阿里巴巴高级开发工程师,Apache flink committer,Pyflink 核心贡献者

  1. 简单介绍 PyFlink 最新的功能;
  2. 介绍基于 FFI 的多语言调用工具 JCP;
  3. 介绍 PyFlink 现有的 Python 运行时及基于 JCP 构建的下一代 Python 运行时的架构及优势。

StateBackend PerformanceImprovements with Cache

李明|字节跳动基础架构工程师,Apache Flink contributor

目前 Flink 主要提供 FilesystemStateBackend 和 RocksDBStateBackend,但这两种 StateBackend 在实际生产使用的过程中,都各自存在一些问题,例如 GC 停顿时间长、CPU 使用量高等。同时由于两种 StateBackend 的特性不同,业务在选型之后如果需要进行 StateBackend 切换,会带来额外的运维和调参成本。因此我们希望为业务提供一个通用的缓存层,实现提高吞吐,减少资源开销,降低业务选型难度的目的。本次分享将从原理、痛点、解决方案以及未来规划等方面进行介绍:

  1. 现有 StateBackend 的基本原理:
    • 业务使用过程中遇到的痛点;
    • FilesystemStateBackend 在状态比较大时,GC 停顿时间长,业务有感知;
    • RocksDBStateBackend 的序列化/反序列化开销重,CPU 使用量高;
    • 选型困难,状态增长后切换 StateBackend 是有损的;
  2. 优化思路及整体架构设计;
  3. 技术难点及关键模块设计:
    • Cache 的淘汰策略;
    • Cache 占用的内存大小预估以及不超过限制;
    • Cache 动态调整大小;
    • Cache 制作快照;
  4. 业务收益;
  5. 未来规划。

为实时机器学习设计的算法接口与迭代引擎

林东|阿里巴巴高级技术专家,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 核心技术专场内容节选,了解更多大会详情可点击下方链接:

https://flink-forward.org.cn/

Flink Forward Asia 2021 赞助与合作

图片


更多 Flink 相关技术问题,可扫码加入社区钉钉交流群
第一时间获取最新技术文章和社区动态,请关注公众号~

image.png

活动推荐

阿里云基于 Apache Flink 构建的企业级产品-实时计算Flink版现开启活动:
99 元试用 实时计算Flink版(包年包月、10CU)即有机会获得 Flink 独家定制卫衣;另包 3 个月及以上还有 85 折优惠!
了解活动详情:https://www.aliyun.com/product/bigdata/sc

image.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
3月前
|
监控 Oracle 关系型数据库
Flink CDC(Change Data Capture)是一种用于捕获数据库变更的技术
Flink CDC(Change Data Capture)是一种用于捕获数据库变更的技术
38 8
|
3月前
|
SQL 并行计算 大数据
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)
关于Flink服务的搭建与部署,由于其涉及诸多实战操作而理论部分相对较少,小编打算采用一个独立的版本和环境来进行详尽的实战讲解。考虑到文字描述可能无法充分展现操作的细节和流程,我们决定以视频的形式进行分析和介绍。因此,在本文中,我们将暂时不涉及具体的搭建和部署步骤。
500 3
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)
|
4月前
|
存储 测试技术 数据处理
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
122 0
|
4月前
|
存储 测试技术 Apache
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
本文整理自阿里云 Flink 存储引擎团队李晋忠,兰兆千,梅源关于阿里云实时计算企业级状态存储引擎 Gemini 的研究。
125395 4
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
|
5月前
|
搜索推荐 Serverless BI
「FFA 动手实践」Flink+Hologres 搭建实时数仓
「FFA 动手实践」Flink+Hologres 搭建实时数仓
1002 4
「FFA 动手实践」Flink+Hologres 搭建实时数仓
|
5月前
|
运维 算法 Apache
FFA 2023 「生产实践」专场:Flink 大规模技术优化与生产实践
完整议程已公开,期待 12 月 8-9 日与你 Flink Forward Asia 2023 相会!
400 1
 FFA 2023 「生产实践」专场:Flink 大规模技术优化与生产实践
|
5月前
|
SQL 存储 OLAP
FFA 2023 「核心技术」专场: Flink 核心技术动向深度解读
完整议程已公开,期待 12 月 8-9 日与你 Flink Forward Asia 2023 相会!
354 0
FFA 2023 「核心技术」专场: Flink 核心技术动向深度解读
|
3月前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
598 5
|
2月前
|
SQL Java API
官宣|Apache Flink 1.19 发布公告
Apache Flink PMC(项目管理委员)很高兴地宣布发布 Apache Flink 1.19.0。
1634 2
官宣|Apache Flink 1.19 发布公告
|
2月前
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
294 3

相关产品

  • 实时计算 Flink版