2024-05-29版本

本文为您介绍2024年05月29日发布的实时计算Flink版的重大功能变更和主要缺陷修复。

重要

本次升级计划在全网分步骤完成灰度,具体升级计划,请关注实时计算管理控制台页面右侧的最新公告。如果您不能使用相关新功能,说明您的账号暂未完成灰度。如果您需要尽快升级,请提交工单告知我们,我们将结合实际情况进行安排。

概述

2024年5月29日正式对外发布实时计算Flink版的新版本,包含平台升级、引擎更新、连接器更新、性能优化以及缺陷修复。

平台侧

本次平台功能更新聚焦于增强系统的稳定性和运维能力,并提升了易用性。

  • 为保证您作业运行的稳定性,我们对同城高可用功能进行了优化。支持将已有的单可用区CU类型项目空间转换为跨可用区CU类型项目空间,无需新建项目空间并进行作业迁移,极大地简化了启用同城高可用的流程。

  • 支持在作业资源配置专家模式下设置算子的状态TTL,能更精细地调整不同算子的状态TTL,实现用更少的资源获取更高的稳定性效果。

  • 支持通过实时计算Flink版VS Code插件,实现本地Flink作业开发、部署及上线全流程,并支持快速从线上同步作业。

除此之外,我们也对数据血缘、运维页面等部分进行了进一步的优化。

引擎侧

引擎侧正式对外发布VVR 8.0.7,该版本是基于Apache Flink 1.17.2的企业级Flink引擎,主要包含以下变更:

  • 在实时湖仓方面,Paimon连接器SDK升级,支持Paimon数据湖格式0.9版本。

  • 在SQL增强方面,您可以使用算子状态生命周期(TTL)Hints单独为双流联接算子和分组聚合算子设定TTL,更精准的控制各个算子的状态大小;您可以使用命名参数来实现自定义函数,提升开发效率,降低维护成本。

  • 在连接器方面,本版本MongoDB连接器结束公测,正式进入生产阶段,它提供了完整的CDC源表、维表和结果表能力,相关技术解读请参见MongoDB CDC的设计与实现。另外本版本还重点提升了MySQL CDC和Redis连接器相关能力:

    • MySQL CDC

      • 支持通过op_type虚拟列获取数据操作类型,使得下游能够获得该变化数据的操作类型(+I、+/-U、-D),借此功能,您可灵活地根据具体的操作类型设计业务逻辑和数据清理策略。

      • 优化了以Decimal类型作为主键的MySQL表的读取性能,并实现了大容量表的SourceRecord(数据变更记录)并行处理,以提升处理效率。

      • 支持Source复用功能,开启Source复用功能后,Flink会尝试合并同一作业内某些配置项(库名、表名和server-id除外)均相同的MySQL CDC源表,以减轻MySQL服务器的连接和监听压力。

      • 在开启sink.ignore-null-when-update参数时,会进行攒批执行,数倍提升了处理性能。

    • Redis:Redis作为维表和结果表时,当Key的数据类型为HashMap时,支持多种非主键Key格式的DDL定义,方便您更好地理解;支持设置Key的前缀和分隔符,满足Redis数据治理要求。

  • 在元数据管理方面,MySQL视图作为数据库中的一种逻辑结构,本身无法进行实际的数据读写。为避免数据操作错误,新创建的MySQL Catalog中将不再展示视图信息。

  • 在安全方面,本版本对开启Kerberos的Hive集群的兼容范围扩展至Hadoop 2.x版本;对日志中连接器的连接配置等敏感信息进行了隐藏屏蔽。

  • 在缺陷修复方面,本版本重点修复了ClickHouse结果表shardWrite参数未生效与在极端情况下作业快照无法生成等问题,旨在提高系统的稳定性和可靠性。

该版本主要特性详情及相关文档详见下方表格,我们将在全网进行分步骤的灰度,灰度完毕后,欢迎您将作业使用的引擎升级至此版本,具体操作请参见作业引擎版本升级。期待您的使用体验反馈!

主要功能介绍

特性

详情

相关文档

同城高可用功能优化

支持项目空间类型(单可用区和跨可用区)互相切换。

同城高可用

血缘关系功能优化

字段级别血缘关系支持通过字段名称进行搜索,多个结果时支持按上下键进行切换,方便您快速定位并查看字段血缘信息。

image

通过节点或字段名称搜索查看血缘信息

作业运维页面新增创建人字段

您可以在作业运维页面,单击右侧的image配置自定义列表展示,添加创建人字段。通过创建人字段,能够准确过滤作业列表,当作业出现问题时可以快速确认作业的创建人,提升协作效率。

  • 在作业列表的创建人列,支持筛选我创建的,查看该项目空间下当前账号创建的所有作业。

    image

  • 在作业列表上方的检索框中,选择创建人字段,输入目标创建人名称,可以查找指定创建人创建的作业列表。

    image

权限管理功能优化

创建工作空间的身份(主账号、RAM用户、RAM角色等)默认具有项目空间下owner角色权限。

项目空间授权

SQL作业有状态启动时状态兼容性检测行为优化

选择从最新状态启动作业时,Flink系统会检测作业变化。当检测到作业发生变化时,建议单击状态兼容性检测旁的点击检测检查兼容性,并依据兼容性结果后决定后续行为。

作业启动

上线VS Code本地开发插件

为您打通了本地Flink作业开发全流程,帮助您在本地轻松完成Flink作业的开发、部署及上线,包括SQL、JAR和Python作业,并支持快速从线上同步作业。

VS Code本地开发插件

支持算子粒度的TTL设置

在只有某些算子需要设置较大TTL的场景下,为整个作业设置统一的TTL可能会导致State膨胀,造成资源损耗。您可以通过以下任意一种方式设置算子TTL,更精准的控制各个算子的状态大小,节约大状态作业的使用资源。

  • 在作业运维页面资源配置专家模式中设置。

    说明
    • 仅实时计算引擎VVR 8.0.7及以上版本支持。

    • 仅SQL作业使用专家模式(细粒度)资源配置时支持。

  • 使用算子状态生命周期(TTL)Hints为双流联接算子和分组聚合算子设置TTL。

支持通过命名参数实现自定义函数

可以提升开发效率,降低维护成本。

概述

MySQL CDC连接器能力增强

  • 支持通过op_type虚拟列获取数据操作类型。

  • MySQL CDC优化了以Decimal类型作为主键的MySQL表的读取性能,并实现了大容量表的SourceRecord(数据变更记录)并行处理。

  • 支持开启CDC Source复用功能。

  • 在开启sink.ignore-null-when-update参数时,会进行攒批执行。

MySQL

Redis连接器能力增强

  • Redis作为维表和结果表时,当Key的数据类型为HashMap时,支持多种非主键Key格式的DDL定义,方便您更好地理解。

  • 支持设置Key的前缀和分隔符,满足Redis数据治理要求。

云数据库Redis

MQ支持攒批读取

可以有效提高处理效率并降低资源成本。

云消息队列 RocketMQ 版

MySQL Catalog中不再支持查看视图

MySQL视图作为数据库中的一种逻辑结构,本身并不存储数据。因此自该版本起,新创建的MySQL Catalog都无法查看视图信息。

管理MySQL Catalog

增强了对Hive Kerberos集群的支持

对开启Kerberos的Hive集群兼容性范围扩展至Hadoop 2.x。

注册Hive Kerberos集群

Iceberg Connector SDK版本升级

支持读写Apache Iceberg 1.5。

主要缺陷修复

  • 修复了实时计算引擎VVR 8.0.5和VVR 8.0.6版本Hologres连接器Where条件下推导致的数据正确性问题。

  • 修复了SLS连接器在Failover期间,SLS源表仍然在消费位点提交而导致数据丢失问题。

  • 修复了同时设置有TTL的mapState和无TTL的valueState时出现的valueState状态丢失问题。

  • 修复了动态CEP中反序列化WithinType.PREVIOUS_AND_CURRENT结果不一致问题。

  • 修复了控制台监控页面与Flink UI页面的currentEmitEventTimeLag 汇报数据不一致问题。

  • 修复了Apache Flink 1.17.2版本的所有缺陷,详情请参见Apache Flink 1.17.2 Release Announcement