本文为您介绍2022年5月16日发布的Flink全托管版本的重大功能变更和主要缺陷修复。

概述

2022年5月16日正式对外发布VVR 4.0.13版本,该版本是基于Apache Flink 1.13。在本次新版本中,在源库为分库分表的数据同步场景中,实时数据入湖入仓能力提供了更为强大便捷的分库合并同步功能,可以将上游多个分库下相同表名的数据合并同步到Hologres目标库对应表名的同一张表中;提供了全新的Kafka Catalog,您可以通过注册Catalog,直接在Flink SQL作业中将其中的Topic作为源表或结果表使用;Hologres Connector支持在一个作业中首先全量同步然后增量同步消费Binlog的模式,可以更为优雅的一站式完成数据同步处理,高效地构建实时数仓;Redis Connector支持结果表设置TTL;发布了多项Connector增强功能;提升了Session集群停止、文档查看、作业探查中日志查看、产品公告等多项用户体验。另外,本次新版本还同步修改了若干已在Apache Flink社区修复的缺陷以及产品自有缺陷。
说明 目前该版本在公共云上逐步上线。如果您无法使用新功能,请耐心等待。

新特性

特性 详情 相关文档
新增支持Kafka Catalog Kafka Catalog支持自动解析Kafka消息推导表信息,您无需使用DDL,可以直接访问Kafka集群中的Topic。同时,此功能还支持解析JSON格式消息获取Schema,提升Flink SQL的开发效率和正确性。 管理Kafka JSON Catalog
CDAS新增分库分表同步能力 支持使用正则表达式定义库名,匹配数据源的多个分库下的源表,合并后同步到下游每张对应表名的目标表中,在分库下数据同步更加优雅高效。 CREATE DATABASE AS(CDAS)语句
Hologres Connector支持全增量一体源表消费 Hologres源表支持首先全量同步,然后平滑的切换至增量同步消费Binlog的模式,帮助您在构建实时数仓数据管道时,高效便捷的完成数据迁移与同步。 Hologres源表
Redis结果表支持Key TTL Redis中的数据往往需要设置过期时间,支持在写入Redis结果表的同时设置Key级别的TTL。 云数据库Redis版结果表
MaxCompute Connector支持Stream Tunnel,以及支持Stream Tunnel和Batch Tunnel的数据压缩 MaxCompute流式数据通道服务提供了以流式的方式把数据写入MaxCompute的能力,在作业不需要Exactly Once语义时,您可以使用MaxComputeStream Tunnel来避免Checkpoint缓慢导致的性能问题。此外,通过Tunnel进行数据压缩,可以提高传输效率。
Hologres Connector支持Datastream API 支持Datastream形式的Hologres Connector。
Elasticsearch Connector支持retry_on_conflict参数 在对Elasticsearch更新操作中,允许设置因版本冲突异常而重试的最大次数。 Elasticsearch结果表
MySQL CDC Connector和Postgres CDC Connector同步Flink CDC社区2.2版本 同步Flink CDC社区2.2版本提供的全部功能,并同步修改社区2.2版本的缺陷。
MySQL CDC Connector支持PolarDB-X数据源 PolarDB-X提供了完全兼容MySQL Binlog格式和协议的增量消费能力。 MySQL CDC Connector支持PolarDB-X数据源后,PolarDB-X用户可以使用MySQL CDC Connector的全部功能。
MySQL CDC Connector通过心跳事件,解决慢表Binlog过期问题 通过在Source中插入心跳事件,推动Binlog位点前进的方式,可以使得Source推动Binlog位点前进不再依赖于数据更新事件,这对于MySQL中数据更新缓慢的表更加友好。 MySQL的CDC源表
MySQL CDC Connector和MySQLCatalog同步支持Unsigned Float、Double和Decimal类型 新增支持Unsigned Float、Double和Decimal类型。 MySQL的CDC源表
MySQL CDC Connector支持配置JDBC连接参数 支持对连接参数的配置,以便连接各种配置下的MySQL实例。 MySQL的CDC源表
Session集群增强停止能力 一段时间以来,Session集群作为用户节省资源的一种方式被大量使用。但Session集群本身因为架构限制无法保证生产的稳定性,Session集群的异常将引起该集群上所有作业的异常。

因此,请勿将生产作业提交到Session集群运行。针对Session集群异常导致作业无法操作的问题,我们通过强制停止能力来停止Session集群。

配置开发测试环境(Session集群)
JM异常智能分析 当Flink作业运行发生异常时,TM的异常会被JM收集到日志中,通常通过作业探查中的异常日志,就可以查看到这部分信息。但是这部分信息仅会被保存比较短的时间。因此,当作业连续失败时,真正的Root Cause会被后续的堆栈信息淹没。这个版本,我们对此进行了改良,异常日志可以被存储更长时间,同时对异常日志进行了分类,协助您更好的定位到作业的异常原因。 查看运行异常日志
内置阿里云文档 作业开发和运维的过程中,经常需要跳转到阿里云帮助中心查看文档。频繁的窗口切换会扰乱开发者的思路。为了优化开发体验,我们将阿里云帮助中心的文档内置在Flink全托管的开发页面内,您可以直接在Flink全托管开发控制台唤起帮助文档,避免来回跳转。
新增产品公告能力 实时计算Flink版在作业控制台上新增了产品公告的能力,您可以直接接收到包括产品升级在内的各种用户须知信息。这样可以有效避免通过短信、站内信、钉钉群等途径无法完全触达终端用户的问题。
UI优化
  • 支持全新阿里云主题风格。
  • 针对作业运行状态描述优化,让您更好理解作业运行状态。

性能优化

暂无

缺陷修复

  • 修复SLS Connector在Shard个数变更时没有获取新的Shard列表,导致数据无法读取的问题。
  • 修复使用Minibatch AGG导致的[J cannot be cast to [Ljava.lang.Object; 问题。
  • 修复云数据库Hbase结果表数据异步乱序问题。
  • 修复双流Join中的空指针问题。
  • 修复MySQL CDC Connector写入Hudi时Checkpoint一直不成功的问题。
  • 优化了Kafka源表上报pendingRecords指标的计算逻辑。
  • 修复产品控制台界面部分成员名称不显示的问题。
  • 修复部分合法DDL语法校验报错的问题。