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

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

主kv

Flink Forward Asia 2022 将于 11 月 26-27 日在线上举办,议程内容正式上线!

FFA 2022 官网:https://flink-forward.org.cn/

由 Apache Flink 核心贡献者与来自阿里巴巴、字节跳动、华为、Shopee、bilibili、美团等公司的一线技术专家解析 Flink 技术动向与应用实践,回归技术本质,打造全方位技术盛宴。

核心技术

Flink 容错 2.0 的最新进展

梅源|阿里云 Flink 存储引擎团队的负责人,Apache Flink 引擎架构师,Apache Flink PMC & Committer

Flink 是业界公认的大数据领域实时计算的标准,尽管如此我们也一直没有放松 Flink 在实时计算部分的进一步深耕与努力。这个 talk 将汇报 Flink 容错在过去一年中取得的一些进展和成果以及未来的展望。

首先第一部分就是过去一年中我们在 checkpoint 这个部分做的提升。随着 Generic log-based incremental checkpoints 的进一步完善,Checkpoint 这个部分的提升(快速稳定的 checkpoint)也逐步趋于成熟。

在这个 talk 中,我将分享一些 Changelog,unaligned checkpoint 以及 buffer debloating 相结合起来的实验结果。同时我也会讲一讲云原生背景下 rescaling 这个部分以及的一些提升,以及社区在统一 Snapshot 这个概念和操作方面所做的一些努力。

Flink Shuffle 3.0: Vision, Roadmap and Progress

宋辛童|阿里云高级技术专家,Apache Flink PMC Member & Committer

Flink 诞生至今,其 Shuffle 架构的演进可以分为两个阶段:

  • 初期的 1.0 阶段仅支持最基础的数据传输功能;2.0 阶段围绕性能、稳定性与流批一体架构做出了一系列的改进。
  • 如今,随着 Flink 的应用场景与形态越来越丰富,Shuffle 架构也面临着众多新的挑战与机遇,即将迈入 3.0 阶段。

本次分享,我将围绕云原生、流批融合、自适应等关键词,展现我们所描绘的 Flink Shuffle 3.0 蓝图,并介绍相关工作的规划与进展情况。具体内容包括:流批自适应 Hybrid Shuffle、云原生多级存储自适应 Shuffle、Shuffle 整体架构升级与功能整合等。

Adaptive and flexible execution management for batch jobs

朱翥|阿里云高级技术专家,Apache Flink PMC & Committer

为了更好的支持批处理作业的执行,提高其易用性、执行效率和稳定性,我们改进了 Flink 的执行管控机制:

  1. 支持动态执行计划,使得 Flink 可以基于运行时的信息来调整执行计划。基于此,我们为 Flink 引入了自动并行度设置、自动均衡下发数据量的能力。
  2. 支持更灵活(更细粒度)的执行管控,使得 Flink 可以同时运行多个相同任务的执行实例。

基于此,我们为 Flink 引入了预测执行的能力。除此之外,这些改进的机制也为将来进一步优化 Flink 作业执行提供了更多的可能。

Flink OLAP Improvement of Resource Management and Runtime

曹帝胄|字节跳动基础架构工程师

Flink OLAP 作业 QPS 和资源隔离是 Flink OLAP 计算面临的最大难题,也是字节跳动内部业务使用 Flink 执行 OLAP 计算需要解决的最大痛点。字节跳动 Flink 技术团队在去年作业调度和执行优化的基础上,对 Flink 引擎架构和功能实现进行大量深入优化,使 Flink 引擎在小规模数据量下,复杂作业执行的 QPS 从 10 提高到 100 以上,简单作业执行的 QPS 从 30 提高到 1000 以上。本次分享将从 Flink OLAP 难点和瓶颈分析、作业调度、Runtime 执行、收益以及未来规划等五个方面进行介绍。

  1. 介绍 Flink 在 OLAP 遇到的难点和瓶颈。
  2. 作业调度

    • 从 Slot 粒度到 TaskManager 粒度的作业资源注册、申请和释放流程改造
    • 作业初始化 JobManager 和 TaskManager 模块交互优化,支持跨作业 TaskManager 连接复用
    • 作业计算任务部署结构和序列化优化
  1. Runtime 执行

    • 作业提交和结果获取从 Pull 模型到 Push 模型
    • TaskManager 高并发初始化计算任务 CPU 瓶颈和优化
    • JobManager 和 TaskManager 作业执行内存优化
  1. 收益

    • 调度性能提升
    • 核心业务接入
  1. 收益以及未来规划

    • Serverless 能力建设
    • 性能提升

PyFlink 最新进展解读及典型应用场景介绍

付典|阿里云高级技术专家,Apache Flink PMC & Committer

PyFlink 是从 Flink 1.9 开始引入的新功能,支持用户使用 Python 语言开发 Flink 作业,极大地方便了 Python 技术栈的开发人员,降低了 Flink 作业的开发门槛,同时也方便用户在 Flink 作业中使用丰富的 Python 三方库,极大地拓宽了 Flink 的应用场景。经过 Flink 1.9 到 Flink 1.16 多个版本的功能迭代,目前 PyFlink 功能已经日趋成熟,基本覆盖了 Flink Java & Scala API 中所提供的绝大多数功能。

在本次分享中,我们首先将简要介绍一下 PyFlink 项目当前所处的状态以及在刚刚发布的 Flink 1.16 版本中所支持的新功能;然后我们会通过一些具体的例子,对 PyFlink 的典型应用场景进行深入的解读,让用户对 PyFlink 的一些典型用法以及应用场景有一个直观的了解。

Apache Flink 1.16 功能解读

黄兴勃|阿里云高级开发工程师,Apache Flink Committer,Flink 1.16 Release Manager

Apache Flink 一直以来都是 Apache 社区最活跃且持续高速发展的项目之一,在过往的每次版本发布中,Apache Flink 都会带来很多新功能、新特性,刚刚发布的 Flink 1.16 也同样如此。

在本次分享中,我们将首先介绍一下 Flink 1.16 的整体情况;然后我们将从三个方面来深入讲解 Flink 1.16 在流批一体的大方向上所做的改进,它们分别是:

  1. 更稳定易用高性能的 Flink 批处理;
  2. 持续领先的 Flink 流处理;
  3. 蓬勃发展的 Flink 生态。

Apache Flink + Volcano: 大数据场景下高效调度能力实践

姜逸坤|Volcano Reviewer,openEuler Infra Maintainer

王雷博|华为云容器服务架构师、Volcano 社区负责人

Flink on Kubernetes 得到了越来越多的关注和使用,由于 Kubernetes 对批量调度支持缺乏,导致大数据场景调度经常出现资源死锁的问题,同时,缺乏队列、优先级、资源预留、多样性算力调度等高级能力。

本议题将介绍 Apache Flink 社区 FLIP-250: Support Customized Kubernetes Schedulers Proposal 的最新进展和最佳实践。

Flink OLAP 在字节跳动的查询优化和落地实践

何润康|字节跳动基础架构工程师

本次分享将主要分为 Flink OLAP 在字节跳动的业务实践以及遇到的问题,OLAP 集群运维和稳定性治理,SQL Query Optimizer 优化,Query Executor 优化,收益和未来规划等五个部分进行介绍。

  1. Flink OLAP 在字节跳动的应用

    • 总体架构,Flink OLAP 在字节跳动的落地情况
    • 介绍业务使用过程中,运维、监控、稳定性、查询性能方面的要求和问题
  2. Flink OLAP 集群运维和稳定性

    • Flink OLAP 监控体系完善 VS 流计算
    • Flink OLAP 发版和稳定性治理 VS 流计算
  3. Query Optimizer 优化

    • Plan 构建加速,包括 Plan Cache,Catalog Cache 等
    • Optimizer 优化,丰富优化规则,包括下推能力增强,Join Filter 传递,统计信息增强等
  4. Query Executor 优化

    • 内存优化,包括 Codegen cache,ClassLoader 复用
    • RuntimeFilter 优化
  5. 收益和未来规划

    • 产品化完善,向量化引擎,物化视图,Optimizer 演进

Flink Connector 社区新动向与开发指南

罗根|阿里云技术专家

任庆盛|阿里云开发工程师,Apache Flink Committer

作为 Flink 生态的重要组成部分,connector 接口与通用组件在不断迭代以支持更多种类的外部系统。本议题将介绍 Flink connector 在社区的新功能与接口,包括 Sink V2 API,通用维表缓存框架,向 Apache Flink 贡献 connector 的流程,以及如何快速开发一个新的 connector 来对接外部系统。

基于 Log 的通用增量 Checkpoint

俞航翔|Apache Flink Contributor

FLIP-158 引入的 ChangelogStateBackend 可以为用户作业提供更稳定快速的 Checkpoint,进一步提供更快速的 Failover 过程,同时为 Transactional sinks 作业提供更小的端到端延迟。

本议题将从 Checkpoint 的性能优化历程出发,介绍 ChangelogStateBackend 的基本机制、应用场景和未来规划,同时分享相关的性能测试结果。

Flink Unaligned Checkpoint 在 Shopee 的优化和实践

范瑞|Tech Lead of Shopee Flink Runtime Team,Apache StreamPark Committer & Flink/Hadoop/HBase/RocksDB Contributor

Shopee 在 Flink 生产实践中,遇到了很多 Checkpoint 相关的问题,并尝试引入 Unaligned Checkpoint 解决部分问题。但调研后发现效果与预期有一定差距,所以在内部版本对其进行了深度改进,并将大部分改进已经反馈给了 Flink 社区。

这次演讲会包含以下内容:

  1. Checkpoint 存在的问题
  2. Unaligned Checkpoint 原理介绍
  3. 大幅提升 UC 收益
  4. 大幅降低 UC 风险
  5. UC 在 Shopee 的生产实践和未来规划

Flink state 优化以及远程 state 的探索

张杨|bilibili 资深开发工程师

  1. Flink rocksdb state 的优化,调优了压缩流程,在大 state 任务场景,提升吞吐。
  2. Flink remote state 探索,基于 bilibili 内部的 kv 存储,实现存算分离,加速任务恢复,同时更好的支持 Flink 的云原生部署。

StateBackend performance improvement with TerarkDB

李明|字节跳动基础架构工程师

王义|字节跳动基础架构工程师

TerarkDB 是字节跳动内部对 RocksDB 做了较多的优化后衍生出的 LSM 存储引擎,以提高存储引擎的性能,降低资源开销等。本次分享将从背景、业务痛点、Flink & TerarkDB 集成、收益以及未来规划等五个方面进行介绍。

  1. 介绍 RocksDBStateBackend 在生产实践中遇到的问题

    • 写放大严重导致 CPU 消耗和磁盘 IO 高
    • SST 文件清理策略不通用导致空间不断膨胀
    • Checkpoint 和 Compaction 共振导致 CPU 周期尖刺
  1. 介绍 TerarkDB 的核心优化,并和 RocksDB 进行对比

    • KV 分离机制:降低写放大,减少资源使用
    • Schedule TTL GC:加速文件回收,避免文件无法回收
  1. Flink & TerarkDB 集成方案

    • Flink 与 TerarkDB JNI 接口进行适配,支持 Flink Compaction FIlter
    • 支持 RocksDB 和 TerarkDB 两种 StateBackend 共存
    • 提供新的 Checkpoint 机制消除 CPU 周期尖刺
  2. 业务收益
  3. 未来规划

基于 Log 的通用增量 Checkpoint 在美团的进展

王非凡|美团数据平台计算引擎工程师,Apache Flink Contributor

State Changelog based checkpoint 是 checkpoint 机制的一个重要演进,我们认为能够解决一些业务痛点问题,因此对其进行了跟进与共建。本次分享将按以下几方面展开介绍:

  1. 相关背景
  2. 美团应用场景与验证
  3. State Changelog Restore 性能优化
  4. State Changelog 存储选型探索
  5. 后续规划

以上为 Flink Forward Asia 2022 核心技术专场内容节选,了解更多大会详情可点击下方链接:

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

移动端建议观看 ApacheFlink 视频号预约观看:
视频号

点击预约直播~


img

活动推荐

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

image.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
8天前
|
监控 Oracle 关系型数据库
Flink CDC(Change Data Capture)是一种用于捕获数据库变更的技术
Flink CDC(Change Data Capture)是一种用于捕获数据库变更的技术
44 8
|
8天前
|
SQL 并行计算 大数据
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)
关于Flink服务的搭建与部署,由于其涉及诸多实战操作而理论部分相对较少,小编打算采用一个独立的版本和环境来进行详尽的实战讲解。考虑到文字描述可能无法充分展现操作的细节和流程,我们决定以视频的形式进行分析和介绍。因此,在本文中,我们将暂时不涉及具体的搭建和部署步骤。
500 3
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)
|
8天前
|
存储 测试技术 数据处理
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
124 0
|
8天前
|
存储 测试技术 Apache
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
本文整理自阿里云 Flink 存储引擎团队李晋忠,兰兆千,梅源关于阿里云实时计算企业级状态存储引擎 Gemini 的研究。
125422 4
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
|
8天前
|
搜索推荐 Serverless BI
「FFA 动手实践」Flink+Hologres 搭建实时数仓
「FFA 动手实践」Flink+Hologres 搭建实时数仓
1005 4
「FFA 动手实践」Flink+Hologres 搭建实时数仓
|
5月前
|
运维 算法 Apache
FFA 2023 「生产实践」专场:Flink 大规模技术优化与生产实践
完整议程已公开,期待 12 月 8-9 日与你 Flink Forward Asia 2023 相会!
404 1
 FFA 2023 「生产实践」专场:Flink 大规模技术优化与生产实践
|
5月前
|
SQL 存储 OLAP
FFA 2023 「核心技术」专场: Flink 核心技术动向深度解读
完整议程已公开,期待 12 月 8-9 日与你 Flink Forward Asia 2023 相会!
360 0
FFA 2023 「核心技术」专场: Flink 核心技术动向深度解读
|
存储 SQL API
【对话科技】Flink技术介绍和新功能展望
2017年6月22号,由“京城学堂”和阿里巴巴集团技术发展部主办的“对话科技”系列讲座邀请到了Apache Flink项目的PMC成员,来自德国DataArtisans公司的Till Rohrmann,在北京阿里中心为关注实时计算技术的阿里同学做了一场关于Apache Flink技术发展的精彩分享。
|
4天前
|
Oracle 关系型数据库 数据库
实时计算 Flink版操作报错合集之执行Flink job,报错“Could not execute SQL statement. Reason:org.apache.flink.table.api.ValidationException: One or more required options are missing”,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
58 0
|
5天前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之遇到报错:Apache Kafka Connect错误如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
51 5