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

大家好,本文为 Flink Weekly 的第十三期,由王雷整理,主要内容包括:近期社区开发进展,邮件问题答疑以及 Flink 最新社区动态及技术文章推荐。

Flink 开发进展

■ [Releases] Tzu-Li (Gordon) Tai 发布了 Apache Flink Stateful Functions 2.0.0。

[1]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/ANNOUNCE-Apache-Flink-Stateful-Functions-2-0-0-released-td34121.html

■ [Releases] Yu Li 发起了关于发布 Flink 1.10.1 版本的讨论,即将发布的 1.10.1 版本还有1个 Blocker。预计下周会有一个 RC 版本。

[2]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Releasing-Flink-1-10-1-td38689.html

■ [Releases] 1.9.3 版本所有的 blocker issues 都已经被解决,Dian Fu 正在准备发布第一个候选版本。

[3]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-Releasing-Flink-1-9-3-td40086.html

■ [SQL] 在 FLIP-84 重构 TableEnvironment 和 Table 方案中,遗漏了提交 DQL 任务的场景,godfreyhe 重新发起了 FLIP-84 的投票,已通过。

[4]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/VOTE-FLIP-84-Improve-amp-Refactor-API-of-TableEnvironment-amp-Table-td39543.html

■ [SQL] FLIP-122 关于在新的 TableFactory 中使用新的 connector 属性的投票已通过。

[5]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/RESULT-VOTE-FLIP-122-New-Connector-Property-Keys-for-New-Factory-td39935.html

■ [SQL] FLIP-110 关于支持在创建表的语句中增加 like 语法的投票已通过。

[6]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/VOTE-FLIP-110-Support-LIKE-clause-in-CREATE-TABLE-td39554.html

■ [Python] FLIP-121 关于支持 Cython 优化 Python UDF 的投票已通过。

[7]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-121-Support-Cython-Optimizing-Python-User-Defined-Function-td39577.html

■ [Runtime] FLIP-119 关于对调度策略优化的投票通过,优化主要集中在运行批处理作业时避免资源死锁等。

[8]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/VOTE-FLIP-119-Pipelined-Region-Scheduling-td39585.html

邮件问题答疑

■ 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 认为这两者没有区别,并给予了详细的解析。

[12]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/State-size-Vs-keys-number-perfromance-td34135.html

■ 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所致。

[14]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/NPE-from-NullAwareMapIterator-in-flink-table-runtime-blink-td34083.html

■ 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。

[16]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Using-MapState-clear-put-methods-in-snapshotState-within-KeyedCoProcessFunction-valid-or-not-td31353.html

■ Aaron Levin 遇到了在 RocksDB 中存储含有百万个元素的 ListState 的应用场景,担心在这种场景下会遇到一些问题。Seth Wiesman 回复说 RocksDB's JNI bridge 不支持超过 2GB 的 ListState。Aljoscha Krettek 提供了另外的思路,可以把数据分成多个key,分散处理。

[17]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/ListState-with-millions-of-elements-td34153.html

■ Robin Cassan 遇到了 checkpoint 因超时失败时,接下来的 checkpoint 出现雪球效应的问题。Congxian Qiu 回答说非对齐的 checkpoint 可以解决该问题,但该方案还未实现。

[18]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Making-job-fail-on-Checkpoint-Expired-td34051.html

■ Gyula Fóra 遇到了 source 表含有 nullable 字段,将 null 数据过滤掉,写入对应字段类型 STRING NOT NULL 的 sink 表时,报类型不兼容的错误。Timo Walther 告知 type system 仍然在完善中,该问题是已知问题。

[19]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Inserting-nullable-data-into-NOT-NULL-columns-td34198.html

■ forideal 在一个任务中提交了三个 SQL,使用的同一个 source 表。Flink 的拓扑图显示,该 source 表被读取了3遍。Jark Wu 告知 multi-sink optimization 在 flink 1.10 版本中只支持 TableEnvironment,StreamTableEnvironment 将在 flink 1.11 版本中提供支持。

[20]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Multiple-SQL-Optimization-td34221.html

活动 / 博客文章 / 其他

■ Flink 社区邀请程鹤群成为最新 Apache Flink PMC,恭喜!

[21]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/ANNOUNCE-New-Apache-Flink-PMC-Member-Hequn-Chen-td40374.html

■ 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 的流式数据入库场景中的应用

[25]https://ververica.cn/developers/icebergs-application-in-flink-based-streaming-data-warehousing-scenario/

■ 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

上一篇:C++ 过滤出字符串的中文(GBK,UTF-8)


下一篇:免费学习!《Spring Cloud微服务架构设计与开发实战》