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

概述

2022年3月4日正式对外发布VVR 4.0.12版本,该版本是基于Apache Flink 1.13。在本次新版本中,对于常见的Kafka->Flink->Hologres链路,我们支持JSON Schema变化自适应;在数据湖构建上,我们发布了企业级Hudi Connector;在开发效能提升上,我们提供了超过二十种常见的Flink SQL作业模板;在运维服务能力增强上我们提供了强大的作业诊断能力和不停止作业,可动态调整日志级别的能力;还包含了Clickhouse的企业级特性、新的Connector、新的数据入仓入湖语法特性等诸多强大且丰富的数据处理能力。另外,本次新版本还同步修改了若干已在Apache Flink社区修复的缺陷。

新特性

特性详情相关文档
Hologres自适应JSON Schema结构变化JSON作为流式数据处理中最为常见的Event格式之一,其Schema的变化对于实时流作业及其后端的存储引擎中的表而言,都希望是一个透明的过程。
在本次新版本中,我们对于该需求进行了以下增强:
  • 在消费JSON前,可以根据JSON的Schema进行表结构的设定。
  • 在后续持续消费时,如果JSON的Schema发生变化,后端Hologres表的Schema也会根据此变化而变化。
增强Iceberg和Hudi数据湖的构建能力
  • 支持阿里云DLF作为Catalog。

    通过DLF Catalog,您可以访问Hudi或Iceberg以及其他DLF支持的引擎,帮助您快速构建实时数据湖。

  • 支持优化Iceberg表的小文件。

    通过AUTO OPTIMIZE语句,启动一个流式优化任务,自动地将Iceberg表的若干小文件重写为大文件。

  • 推出Flink全托管内置企业级Hudi Connector,降低运维复杂度。
    • 支持使用Flink CDC打通数据库整库入湖,并自动同步表结构变更。
    • 集成阿里云OSS和DLF等组件,完善数据在计算引擎间的连通性。
提升日志查看和设置的易用性
  • 新增日志分页显示。

    在作业探查页签中,新增日志分页的能力,避免作业长期运行会导致日志过大页面无法打开的问题。

  • 支持动态修改日志级别。

    在不重启作业的前提下,可以在作业探查页签中,动态修改运行中的TM的日志级别,以满足您定位问题的需求。

  • 支持查看失败的TM日志。

    在作业探查页签中,支持展示JM还在运行情况下已经失败的TM的日志,方便您排查TM失败的原因。

提供Flink+Clickhouse多个企业级特性
  • 支持Exactly Once语义。

    针对开源大数据平台E-MapReduce中的ClickHouse组件(非云Clickhouse产品)提供Exactly Once语义。

  • 支持ClickHouse的Nested类型。

    对于ClickHouse的Nested类型,可以将其映射为Flink的Array类型。

  • 支持直接写ClickHouse分布式表的本地表。

    通过对分布式表的本地表进行直接写入的方式,可以显著提高写ClickHouse分布式表的吞吐量。

ClickHouse结果表
优化作业诊断规则和界面
  • 新增20多种诊断规则,全面分析作业的运行状态。

    根据作业的实际情况,给出高、中、低三种风险等级提示。

  • 优化诊断界面的,协助您更好地查看问题。
作业诊断
数据同步支持新增计算列CTAS语句支持在Source表上新增计算列,并修改目标表的主键为新增列。

在进行数据入仓入湖时,CTAS语句允许指定新增计算列的位置,并把它作为目标表的物理列,实时地将计算列的结果同步到目标表中。同时,CTAS语句也支持修改目标表的主键,把新增列作为目标表的主键字段。

CREATE TABLE AS(CTAS)语句
更便捷地生成测试数据新增支持模拟数据生成Connector。

通过模拟数据生成Connector,您可以更便捷地生成贴近业务含义的测试数据,满足您开发测试中验证业务逻辑的需要。

新增模板中心,加速作业开发
  • 提供20多种代码模版。

    20多个Flink SQL常见通用场景的模版,帮助您快速了解如何使用Flink SQL构建作业代码。

  • 提供MySQL到Hologres数据同步模版。

    帮助您快速创建Flink CDC作业,完成数据同步入仓入湖。

更清晰地展示资源使用情况在Flink开发控制台页面左下角,会展示当前项目空间下使用的CPU和Memory情况,方便您快速管理项目资源。
快速定位Checkpoint慢节点的日志在快照历史中,新增对节点快照状态的排序能力,并支持在快照历史界面一键跳转到TM日志中,查看慢Checkpoint原因。定位慢Checkpoint并查看对应Task Managers的日志
支持云原生数据仓库AnalyticDB PostgreSQL版结果表和维表
  • Flink支持将数据写入云原生数据仓库AnalyticDB PostgreSQL版结果表
  • Flink支持关联云原生数据仓库AnalyticDB PostgreSQL版,进行关联查询。
提升企业级状态存储后端易用性
  • 新增实时进行参数优化调整的能力,最大化降低人工调优的复杂度和成本,可以避免95%以上人工调参的需要。
  • 单核吞吐能力提升10%~40%,帮助您轻松应对流量洪峰与低谷等变化场景。

性能优化

企业级状态存储后端在本次新版本中包含了大量优化,极大提升了双流或多流Join作业的性能,计算资源利用率平均可以提升50%,典型场景下可以提升100% ~ 200%,帮助您更平滑地运行有状态的流计算应用。

缺陷修复

  • 优化Catalog服务,解决数据库或表数量较大时刷新不出来的问题。
  • 修复Session集群没有显示Flink版本的问题。
  • 修复Metric页面WaterMarkLag曲线显示问题。
  • 优化Metric页面曲线翻页展示效果。
  • 修复Flink CDC currentFetchEventTimeLag指标、类冲突等问题。
  • 修复CTAS语法无法修改已有列的问题。