大家好,本文为 Flink Weekly 的第十三期,由王雷整理,主要内容包括:近期社区开发进展,邮件问题答疑以及 Flink 最新社区动态及技术文章推荐。
Flink 开发进展
■ [Releases] Tzu-Li (Gordon) Tai 发布了 Apache Flink Stateful Functions 2.0.0。
■ [Releases] Yu Li 发起了关于发布 Flink 1.10.1 版本的讨论,即将发布的 1.10.1 版本还有1个 Blocker。预计下周会有一个 RC 版本。
■ [Releases] 1.9.3 版本所有的 blocker issues 都已经被解决,Dian Fu 正在准备发布第一个候选版本。
■ [SQL] 在 FLIP-84 重构 TableEnvironment 和 Table 方案中,遗漏了提交 DQL 任务的场景,godfreyhe 重新发起了 FLIP-84 的投票,已通过。
■ [SQL] FLIP-122 关于在新的 TableFactory 中使用新的 connector 属性的投票已通过。
■ [SQL] FLIP-110 关于支持在创建表的语句中增加 like 语法的投票已通过。
■ [Python] FLIP-121 关于支持 Cython 优化 Python UDF 的投票已通过。
■ [Runtime] FLIP-119 关于对调度策略优化的投票通过,优化主要集中在运行批处理作业时避免资源死锁等。
邮件问题答疑
■ guanyq 在社区提问如何查询 flink job 的异常日志。田志声推荐使用 log agent (比如 filebeat) 统一采集作业的日志,然后收集到 ElasticSearch 查看。
[9]http://apache-flink.147419.n8.nabble.com/flink-td2378.html
■ chanamper 希望能在 Java Api 中使用 LocalGlobal 的聚合优化方法,Congxian Qiu 予以了回答,DataStream API 暂时没有 local aggregation 的功能,可以通过给 key 拼前缀或者后缀来达到类似的效果。
[10]http://apache-flink.147419.n8.nabble.com/Flink-keyby-td2309.html
■ 111 发现 flink 中的 calcite 依赖 guava 16 以上的版本,hbase-connector 模块依赖 guava 12.0 版本,经过 shade 后,作业运行正常,但是在 IDEA 运行单元测试会冲突。目前只能通过 mvn test 来运行单元测试,或者把单元测试改为连接远程 Hbase 的方法来解决。
[11]http://apache-flink.147419.n8.nabble.com/Flink1-10-0-flink-hbase-guava-td2385.html
■ KristoffSC 在社区提问在用 RocksDB 作为 StateBackend 的情况下,少量的 MapState,每个 state 的大小很大,和很多的 ValueState,每个 state 的大小很小相比,哪种性能更高。Congxian Qiu 认为这两者没有区别,并给予了详细的解析。
■ 111 在使用 TopN 语句时遇到了 ”This calc has no
useful projection and no filter. It should be removed by CalcRemoveRule” 的问题,Jark 认为这是由于 codegen bug 导致。
[13]http://apache-flink.147419.n8.nabble.com/Flink-SQL-1-10-ROW-NUMBER-td2355.html
■ Dongwon Kim 在社区里提问关于在 NullAwareMapIterator 中抛出 NPE 的问题,Jark Wu 认为这是由于 HeapMapState iterator 的一处 bug 导致返回空的 iterator所致。
■ Krzysztof Zarzycki 希望能够用 Flink SQL 实现动态修改 job 的拓扑图,以动态的增删业务的处理分支。该功能目前还不支持,大家对该功能的实现进行了讨论。
[15]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Dynamic-Flink-SQL-td33853.html
■ Salva Alcántara 在 snapshotState 方法中对 keyed state 进行了 clear 处理。job 启动后,没有一条数据进入 input streams 时,触发 checkpoint 会报 NPE。Yun Tang 对该问题进行了回复,讲述了 keyed state 和 operator state 的区别,并根据 Salva Alcántara 的业务逻辑推荐他使用 operator state。
■ Aaron Levin 遇到了在 RocksDB 中存储含有百万个元素的 ListState 的应用场景,担心在这种场景下会遇到一些问题。Seth Wiesman 回复说 RocksDB's JNI bridge 不支持超过 2GB 的 ListState。Aljoscha Krettek 提供了另外的思路,可以把数据分成多个key,分散处理。
■ Robin Cassan 遇到了 checkpoint 因超时失败时,接下来的 checkpoint 出现雪球效应的问题。Congxian Qiu 回答说非对齐的 checkpoint 可以解决该问题,但该方案还未实现。
■ Gyula Fóra 遇到了 source 表含有 nullable 字段,将 null 数据过滤掉,写入对应字段类型 STRING NOT NULL 的 sink 表时,报类型不兼容的错误。Timo Walther 告知 type system 仍然在完善中,该问题是已知问题。
■ forideal 在一个任务中提交了三个 SQL,使用的同一个 source 表。Flink 的拓扑图显示,该 source 表被读取了3遍。Jark Wu 告知 multi-sink optimization 在 flink 1.10 版本中只支持 TableEnvironment,StreamTableEnvironment 将在 flink 1.11 版本中提供支持。
活动 / 博客文章 / 其他
■ Flink 社区邀请程鹤群成为最新 Apache Flink PMC,恭喜!
■ Flink Forward 全球在线会议中文精华版直播上线,聚焦 Alibaba、Google、AWS、Uber、Netflix、新浪微博等海内外一线厂商,经典 Flink 应用场景,最新功能、未来规划一览无余。直播详情及预约观看:
[22]https://developer.aliyun.com/live/2594?spm=a2c6h.14242504.J_6074706160.2.3fca361f4cYyQx
■ Flink 消息聚合处理方案
[23]https://ververica.cn/corporate_practice/flink-message-aggregation-processing-scheme/
■ Flink 新场景:OLAP 引擎性能优化及应用案例
[24]https://ververica.cn/developers/olap-engine-performance-optimization-and-application-cases/
■ Iceberg 在基于 Flink 的流式数据入库场景中的应用
■ Flink 流批一体的实践与探索
[26]https://ververica.cn/developers/practice-and-exploration-of-flink-flow-batch-integration
■ Apache Flink Training
[27]https://ververica.cn/training/
■ Flink 中文社区直播系列:
- 《实时数仓篇:Flink 窗口的应用与实现》,由 OPPO 大数据平台研发负责人张俊分享
- 《PyFlink 核心功能介绍》,由 Apache Flink PMC 程鹤群分享
直播回顾:https://ververica.cn/developers/flink-training-course3/
2 分钟快速订阅 Flink 中文邮件列表
Apache Flink 中文邮件列表订阅流程:
发送任意邮件到 user-zh-subscribe@flink.apache.org
收到官方确认邮件
回复该邮件 confirm 即可订阅
订阅成功后将收到 Flink 官方的中文邮件列表的消息,您可以向 user-zh@flink.apache.org 发邮件提问也可以帮助别人解答问题,动动手测试一下!
Tips:
Flink Weekly 周报计划每周更新一期,内容涵盖邮件列表中用户问题的解答、社区开发和提议的进展、社区新闻以及其他活动、博客文章等,欢迎持续关注~
作者介绍:
王雷,小红书技术部基础平台开发工程师,目前主要在做基于 Flink 的实时计算平台开发。
社区活动推荐
普惠全球开发者,这一次,格外与众不同!首个 Apache *项目在线会议 Flink Forward 全球直播中文精华版来啦,聚焦 Alibaba、Google、AWS、Uber、Netflix、新浪微博等海内外一线厂商,经典 Flink 应用场景,最新功能、未来规划一览无余。点击下方图片可了解更多大会详情:
https://mp.weixinbridge.com/mp/wapredirect?url=https%3A%2F%2Fdeveloper.aliyun.com%2Ftopic%2Fffsf2020