此次版本记录讨论是flink1.13与1.14之间的之前的改变,主要的方面有,配置,行为和依赖.如果你计划升级flink版本请仔细阅读和记录.
已存在的问题
Java版本11的Pulsar连接器有内存泄露
Pulsar客户端低层是用Netty分配内存在Java11和8上是不同的.在Java11上分配内存是从Java直接内存池,并且有最大直接内存限制.当前的Pulsar客户端没有控制内存限制的配置项,这也就能导致内存溢出.
建议用户使用Java8 的Pulsar connector 或者给Flink过多的内存. 阅读怎么Flink配置内存,并且查看合适的解决方案 FLINK-24302
变化依赖项变化摘要
有2个改变在Flink1.14中,当更新之前版本时需要先更新依赖名.
- 移除Blink planner(FLINK-22879)前需删除blink前缀.
- 由于 FLINK-14105,如果你依赖
flink-runtime
,flink-optimizer
和/或flink-queryable-state-runtime,Scala后缀
(_2.11
/_2.12
)需要在artifactId中被删除
Table API & SQL
DataStream API 和Table API 中使用一致的管道名
为fromChangelogStream传播唯一的key
对比1.13.2 StreamTableEnvironment.fromChangelogStream
由于主键之前考虑不当,可能产生不同的流
为Table#flatMap 提供新的类型推断支持
Table.flatMap()
现在支持新的类型系统.用户请求要更新他们的函数.
为新的API方法提供Scala的隐式转换
Scala隐式转换DataStream API 和Table API,也更新到新方法FLIP-136.
这个改变可能需要一个已经使用 toTable
或从Table到DataStream[row]的隐式转换
...