多引擎版本兼容

本节将会介绍实时开发中如何进行多引擎版本任务提交和切换。

什么是多引擎版本兼容

经过社区多年迭代更新,截止2021年6月,Flink版本已经逐渐支持至1.13。在实际业务生产中,客户会基于各类Flink版本进行业务代码的开发。
当实时开发平台进行部署时,多数客户会面临自己开发的任务 低于/高于平台版本 的情况。此时进行完整的任务迁移和代码改造会涉及极大的工作量,但不进行迁移则会导致平台一站式的优势无法发挥,无法为企业带来直接的效能提升。
因此,实时开发中基于Flink1.8、Flink1.10等进行了多引擎版本兼容,用户可迁移不同Flink版本的任务至平台先统一运行,而后分批次的进行迁移,减轻整体负担。

多引擎配置

  1. 登陆 数栈-控制台Console模块

  2. 选择多集群管理,点击 新增集群,创建新集群。若已有集群,点击 查看 ,进入到集群详情页面。

  3. 选择 计算组件 标签页,点击 组件配置 ,新增Flink组件。

  4. 选择 Flink1.8Flink1.10 ,完成必要信息配置后,点击右上角 添加版本 ,继续配置对应引擎。

  5. 完成所有版本的引擎配置后,点击右上角 完成 ,即完成了多引擎的配置。

多引擎版本任务

在实时开发中用户可以在创建任务、任务详情、任务提交时对当前任务的引擎版本进行确认和修改,未配置的引擎版本用户不可选择。
当任务引擎版本发生变化后,需要重新保存任务,提交时修改引擎版本将会自动保存后再进行提交。

切换不同版本后,语法检测本地调试自定义函数 会采用不同的引擎进行执行,如果涉及到某版本特定的语法、函数内容等,请关注引擎版本。

多版本已有问题

  1. 系统函数 DATE_FORMAT 在Flink1.8版本中存在使用问题,详情可参考 官方文档

  2. Create Function 语法在实时开发 Flink1.10版本中不支持

  3. 部分Flink1.8与Flink1.10的函数因未及时更新,Web IDE中无对应的语法高亮提示,但是实际可以运行。