Apache Flink 2.1.0 重磅发布:深度融合AI,赋能实时决策新时代
Apache Flink 项目管理委员会 (PMC) 宣布发布 Apache Flink 2.1.0,这是其实时数据处理引擎的一次重大升级。最新版本为实时定义、管理和调用AI模型提供了强大的支持,为端到端的实时AI工作流奠定了基础。
Flink 2.1.0 的核心特性是其增强的AI能力。用户现在可以通过 Java 和 Python 均可用的模型 DDL(数据定义语言)表 API 以编程方式定义和管理AI模型。这提供了一种灵活的、代码驱动的方法,用于在 Flink 应用程序中集成和管理模型。作为补充,ML_PREDICT
表值函数已得到扩展,可以直接在 SQL 查询中实现无缝的实时模型推理。这使得机器学习模型能够在数据流到达时立即应用于数据。该实现支持 Flink 内置的模型提供者(如 OpenAI),并提供接口供用户定义自定义模型提供者,标志着 Flink 向成为统一的实时AI平台迈出了战略性一步。
除了AI集成,Apache Flink 2.1 还引入了进程表函数 (PTF),PMC 将其描述为 Flink SQL 和 Table API 中最强大的函数类型。PTF 是所有其他用户定义函数的超集,能够将零个、一个或多个输入表映射到零个、一个或多个输出行。此功能使用户能够实现复杂的自定义操作符,其功能丰富性可与内置操作相媲美,PTF 可以访问 Flink 的托管状态、事件时间处理、表更改日志和计时器服务。
Flink 2.1 的另一个值得注意的补充是 VARIANT
数据类型,旨在改进对 JSON 等半结构化数据的处理。这种新类型允许存储任何半结构化数据,包括数组、映射(带字符串键)和标量类型,同时以类似 JSON 的结构保留字段类型信息。与 ROW
和 STRUCTURED
类型不同,VARIANT
为管理深度嵌套和不断演变的模式提供了卓越的灵活性。用户可以使用 PARSE_JSON
或 TRY_PARSE_JSON
函数将 JSON 格式的字符串数据转换为 VARIANT
。
Apache Flink 2.1 的进一步增强包括:
- 为流处理作业引入了
DeltaJoin
运算符,并优化了更简单的流式连接管道。 - 增加了对 Smile 二进制格式的编译计划支持,为序列化和反序列化提供了比 JSON 更节省内存的替代方案。
- 运行时为异步 Sink 提供了一种新的可插拔批处理机制,允许用户定义根据特定要求定制的自定义批处理写入策略。
- 一个新的键控状态连接器,使用户能够使用 Flink SQL 直接从检查点或保存点查询键控状态。这简化了检查、调试和验证 Flink 作业状态的过程,而无需自定义工具。
这些更新共同巩固了 Apache Flink 作为领先的实时数据处理引擎的地位,现在它拥有显著扩展的AI驱动应用程序能力,并提高了对不同数据类型和操作需求的灵活性。