Flink Weekly | 每周社区动态更新-20200513

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 大家好,本文为 Flink Weekly 的第十五期,由张成整理,李本超 Review。本期主要内容包括:近期社区开发进展、邮件问题答疑、Flink 最新社区动态及技术文章推荐等。

大家好,本文为 Flink Weekly 的第十五期,由张成整理,李本超 Review。本期主要内容包括:近期社区开发进展、邮件问题答疑、Flink 最新社区动态及技术文章推荐等。

01 Flink 开发进展

1.Release

■ [releases] 李钰发起了 Flink 1.10.1 RC #3 的投票,投票已经通过,最新动态请参考如下链接。

[1]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/VOTE-Release-1-10-1-release-candidate-3-tp41216.html

■ [releases] Tzu-Li 发起了 Flink Stateful Functions Release 2.0.0 RC #4 的投票,经过讨论后决定将会在新开一个 RC。

[2]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/VOTE-Apache-Flink-Stateful-Functions-Release-2-0-0-release-candidate-4-td39453.html

2.DEV

■ 阿里巴巴已经在 flink-packages.org 上发布了 SpillableHeapStateBackend 的预览版。该状态后端在 FLINK-12692 中贡献给 Apache Flink。SpillableHeapStateBackend 是一个基于 Java 堆的Statebackend(如 FilesystemStatebackend ),在堆耗尽之前将最冷的状态溢出到磁盘。

[3]https://flink-packages.org/packages/spillable-state-backend-for-flink
https://issues.apache.org/jira/browse/FLINK-12692

3.FLIP

■ [FLIP-108] Yangze Guo 发起了有关类加载器和依赖项问题的讨论。问题是 mainClassLoader 无法识别 ExternalResourceInfo 的子类。ExternalResourceInfo 位于 ExternalResourceDriver jar 中,并通过 PluginManager 与 mainClassLoader 隔离。因此,程序会抛出 ClassNotFoundExeption 异常。Yangze Guo 提出了如下 3 个备选方案,大家在讨论中认为第 3 个方案比较好。Yangze Guo 发起了使用第 3 个方案修改 API 的投票,投票最终获得通过。

备选方案1:

不使用插件机制,只需将驱动程序加载到 mainClassLoader。缺点是用户需要处理依赖冲突。

备选方案2:

强制要求用户构建两个单独的 jar,分别用于 ExternalResourceDriver 和 ExternalResourceInfo。然后把包含 ExternalResourceInfo 类的 jar 添加到“ / lib”目录。这种方法可能有效,但可能会使用户厌烦。

备选方案3:

修改 RuntimeContext#getExternalResourceInfos 方法,让其返回 ExternalResourceInfo,同时在 ExternalResourceInfo 接口增加一个类似 “Properties getInfo()” 的方法。该方法的返回值可以由驱动程序提供者和用户指定。

[4]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-108-Problems-regarding-the-class-loader-and-dependency-td40893.html
[5]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/quot-VOTE-FLIP-108-edit-the-Public-API-quot-td40995.html
[6]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/RESULT-VOTE-FLIP-108-edit-the-Public-API-td41061.html

4.Discuss

■ [docker] Ismaël Mejía 发起的是否可以在 Flink 正式 release 之外发布 docker 镜像的讨论有了新的更新。

[7]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Intermediary-releases-of-the-flink-docker-images-td40602.html

■ [udf/udaf] Leerho 发起了关于 Flink 集成 DataSketches 的讨论。Arvid Heise 建议先放在 flink-package 中。

[8]https://flink-packages.org/
[9]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/Integration-of-DataSketches-into-Flink-td40750.html

■ [connector] 李劲松发起了在 TableFactory 中引入 StatefulSequenceSource 的讨论。StatefulSequenceSource 能够方便用户更简单的进行 Flink SQL 测试。

[10]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Introduce-TableFactory-for-StatefulSequenceSource-td39116.html

■ [connector] Leonard Xu 发起了重构 Flink JDBC Connector 的讨论。Leonard Xu 介绍,在重构之后,我们可以很容易地为表和数据流引入统一的可插拔 JDBC 方言,并且我们可以有更好的模块组织和实现。目前大家已经达成一致,Leonard Xu 已经创建了相关的 Jira。同时 Flink Hbase Connector 也有同样的问题,后续在做的时候会单独进行讨论。

[11]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Refactor-flink-jdbc-connector-structure-td40984.html
[12]https://issues.apache.org/jira/browse/FLINK-17537
[13]https://issues.apache.org/jira/browse/FLINK-17538

■ [configuration] Timo 发起了讨论如何在属性( Flink 配置以及 Connector 属性)中表示配置层次结构,以便生成的文件将是有效的 JSON / YAML。

[14]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Hierarchies-in-ConfigOption-tp40920.html

■ [hadoop] Robert Metzge 发起了讨论增加对 Hadoop 3 的支持,并讨论了是否将通过 flink-shaded-hadoop 的方式支持 Hadoop 3 的问题。

[15]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Adding-support-for-Hadoop-3-and-removing-flink-shaded-hadoop-td40570.html

邮件问题答疑

■ Kcz 在社区提问 Flink 内存设置问题(Metaspace OOM)。李劲松回答 Metaspace OOM 通常是 JVM 加载的类过多导致的。比如增加 slot 数量也会导致加载的类变多。同时,社区已经有些用户反馈 Flink 1.10.0 的默认 metaspace 大小可能不太合理。1.10.1 中会调大这个默认值。用户可以先通过 taskmanager.memory.metaspace.size 调到 256m 试一试。

[16]http://apache-flink.147419.n8.nabble.com/flink-metaspace-td2835.html

■ Lucas Wu 想单独设置某些 Flink SQL Job 的并行度,李本超回复目前无法做到这一点。目前 SQL 还不支持对单独的 operator 设置并行度,可以通过 table.exec.resource.default-parallelism 设置全局的并行度。

[17]http://apache-flink.147419.n8.nabble.com/flink-sql-job-td2847.html
[18]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Flink-SQL-How-can-i-set-parallelism-in-clause-of-group-by-td33736.html
[19]http://apache-flink.147419.n8.nabble.com/MySQL-td3014.html

■ 王磊在社区提问关于 Flink SQL Retraction 的问题。Michael Ran、李劲松进行了详细的回答。有兴趣的同学可以参考如下链接。

[20]http://apache-flink.147419.n8.nabble.com/FlinkSQL-Retraction-td2893.html

■ Luan Cooper 在社区提问 Sink 表 Append Mode/Upsert Mode 的问题。比如使用 Upsert Mode 写 ElasticSearch 会遇到无法指定 primary key 问题。这个问题社区同学进行了详细的解答。其中 Jark Wu 回复 FLIP-95 和 FLIP-105 后,问题中的 query 就可以原生支持了。FLIP-95 和 FLIP-105 的核心工作就是识别 binlog 中的 update/delete/insert 消息,而不是全当成 append 消息。预计 1.11 能见到这些功能。

[21]http://apache-flink.147419.n8.nabble.com/Streaming-SQL-Source-Sink-Append-Mode-Upsert-Mode-td2956.html

■ Hb 遇到了时区相关的问题,李劲松和 Jark Wu 进行了回答。这是一个 bug。Blink 中默认使用了没有时区的 timestamp,而 proctime 目前还是带时区的产生了时间。这个问题已经有对应的Jira。社区会以很高的优先级进行修复。

[22]http://apache-flink.147419.n8.nabble.com/flink-sql-td2910.html

■ 1193216154 对 Flink watermark 对齐逻辑有些疑问。李本超进行了解答。watermark 就是取各个 input channel 的最小值作为当前 subtask 的 watermark 的。同时唐云进行了补充。正是因为取各个 input channel 的最小值,所以如果某一个上游一直没有获取到真实数据,发送下来的watermark 一直都是 Long.MIN_VALUE,这样会导致无法触发 window,社区采用 idle source 的方式 walk around 该问题。同时 FLIP-27 也会涉及到 Source 端的 watermark 对齐的相关问题。

[23]http://apache-flink.147419.n8.nabble.com/flink-watermark-td3018.html
[24]https://ci.apache.org/projects/flink/flink-docs-stable/dev/event_time.html#idling-sources
[25]https://cwiki.apache.org/confluence/display/FLINK/FLIP-27%3A+Refactor+Source+Interface

■ Lec Ssmi 在社区提问关于 async IO in UDFs 的问题,李本超进行了回复,目前暂不支持。

[26]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/async-IO-in-UDFs-td34978.html

活动 / 博客文章 / 其他

■ Flink 社区 2020 年首场 Meetup 在线直播免费报名中,来自袋鼠云、网易云音乐、有赞、阿里巴巴的技术四位技术专家将现场分享丰富技术干货。

[27]https://developer.aliyun.com/live/2772

■ Fabian 在 Ververica 博客上发布了 Flink Foward Virtual 2020 的摘要。

[28]https://www.ververica.com/blog/flink-forward-virtual-2020-recap

■ Flink Forward Virtual 2020 的所有记录已发布在 Youtube 上。

[29]https://www.youtube.com/watch?v=NF0hXZfUyqE&list=PLDX4T_cnKjD0ngnBSU-bYGfgVv17MiwA7

■ Marta 在 Flink 博客上的社区更新博客中回顾了过去的几个月。

[30]https://flink.apache.org/news/2020/05/07/community-update.html
[31]https://flink.apache.org/news/2020/05/04/season-of-docs.html
[32]https://www.meetup.com/Flink-China/events/270310980/
[33]https://www.meetup.com/futureofdata-princeton/events/269933905/

2 分钟快速订阅 Flink 中文邮件列表

Apache Flink 中文邮件列表订阅流程:

  1. 发送任意邮件到 user-zh-subscribe@flink.apache.org
  2. 收到官方确认邮件
  3. 回复该邮件 confirm 即可订阅

订阅成功后将收到 Flink 官方的中文邮件列表的消息,您可以向 user-zh@flink.apache.org 发邮件提问也可以帮助别人解答问题,动动手测试一下!

Flink Weekly 周报计划每周更新一期,内容涵盖邮件列表中用户问题的解答、社区开发和提议的进展、社区新闻以及其他活动、博客文章等,欢迎持续关注。
作者介绍:

张成,小红书技术部基础平台开发工程师,目前主要在做基于 Flink 的实时计算平台开发。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
6月前
|
Nacos 流计算
flink动态更新作业
flink动态更新作业
|
运维 大数据 Apache
|
3月前
|
机器学习/深度学习 监控 Serverless
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术
|
6月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之社区版有没有办法多张表公用server_id,达到数据源的复用
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
消息中间件 SQL Kafka
如何高效接入 Flink: Connecter / Catalog API 核心设计与社区进展
本文整理自阿里云实时计算团队 Apache Flink Committer 和 PMC Member 任庆盛在 FFA 2023 核心技术专场(二)中的分享。
452 1
如何高效接入 Flink: Connecter / Catalog API 核心设计与社区进展
|
6月前
|
NoSQL Java 关系型数据库
Flink 动态更新配置,不需要重启作业
Flink 动态更新配置,不需要重启作业
288 1
|
消息中间件 存储 SQL
Flink Connector 社区新动向与开发指南
阿里巴巴开发工程师 Apache Flink Committer 任庆盛,阿里巴巴技术专家 Apache Flink Contributor 罗根,在 Flink Forward Asia 2022 核心技术专场的分享。
1087 1
Flink Connector 社区新动向与开发指南
|
NoSQL Java Apache
说出你和 Flink 社区的小故事,首场线下 ASF 亚洲峰会 10 张门票免费送!
说出你和 Apache Flink 社区的故事,讲述这五年来你的经历和感悟,10 张 Apache 软件基金会(ASF)的官方全球系列大会 CommunityOverCode (原 ApacheCon)门票免费送!
339 0
说出你和 Flink 社区的小故事,首场线下 ASF 亚洲峰会 10 张门票免费送!
|
SQL 机器学习/深度学习 算法
Apache Flink 社区 2022 年度报告:Evolution, Diversity, Connection
通过 Evolution、Diversity、Connection 三个关键词,从年度最佳实践、核心技术演进、开源技术生态等多维度盘点过去一年的成果,与各位开发者一同见证社区成长。
Apache Flink 社区 2022 年度报告:Evolution, Diversity, Connection
|
SQL 机器学习/深度学习 分布式计算
会议总结 | 首次 Flink Batch 社区开发者会议
2023 年 2 月 8 日 Flink Batch 社区开发者会议会议总结。
会议总结 | 首次 Flink Batch 社区开发者会议

相关产品

  • 实时计算 Flink版