AI智能助手(公测)

更新时间:
复制为 MD 格式

本文将介绍Flink AI助手的使用方式,该工具将能更好地协助开发者完成Flink SQL作业开发、异常诊断及日志问题分析。

功能概述

Flink AI 智能助手是一款基于大语言模型(LLM)构建的智能开发工具,深度集成于 Flink 实时计算控制台。旨在降低实时数据开发的门槛,提升代码编写与运维效率。

通过自然语言交互,它能理解复杂的业务需求,协助用户完成从 SQL 代码生成、逻辑解释到故障诊断的全流程工作。

核心能力

  • 智能代码生成
    助手能够理解自然语言描述的业务需求,自动生成符合 Flink SQL 语法的代码片段或完整作业。它支持源表声明、维表关联、复杂窗口计算及结果表写入的逻辑构建。

  • 代码逻辑解释
    针对复杂的 SQL 逻辑或遗留代码,助手提供逐行解析服务。它能将晦涩的技术实现转化为易懂的业务语言,帮助开发者快速理解数据流转过程与计算逻辑。

  • 智能故障诊断
    当作业运行出现异常或语法错误时,助手能分析报错日志,定位根因,提供具体的修复建议。

  • 性能优化建议
    基于 Flink 最佳实践,助手能识别代码中潜在的性能瓶颈(如数据倾斜、状态过大),并给出参数调优或 SQL 改写建议。

快速入门

如何唤起

在开发控制台右下角的悬浮窗,单击image图标,即可唤出智能助手。

重要

AI助手的回答具有一定幻觉和时效性,可能生成语法正确但功能不存在的参数。也可能由于版本迭代过快,参数已经被废弃的情况。在辅助使用的情况下,请参阅相关连接器的参数文档,以官方文档的内容为准

界面展示

image

功能详解

资源规划咨询

在扩容或配置 Flink 计算资源(CU)之前,AI助手能够根据您的业务规模进行科学的容量预估。准确的提问是获取有效建议的关键。

  • 数据吞吐量:明确每秒处理的消息数量 (TPS/QPS) 或数据流量大小 (MB/s)。

  • 计算逻辑复杂度:描述主要的操作类型(如:简单过滤、多流 Join、大窗口聚合)。

  • 时效性要求:说明对延迟的容忍度(如:秒级延迟、分钟级延迟)。

示例

我需要从 Kafka 读取数据,QPS 约为 50,000 条/秒,单条数据大小 1KB。逻辑是进行字段重命名和简单过滤,然后写入 Hologres。请推荐合适的并发度和 CU 数量

image

作业辅助编写

AI助手能够根据业务需求,生成符合Flink特性的SQL代码。

  1. 定义数据源与接收端: 向助手清晰描述数据的输入源(Source)与输出端(Sink)。必须指明连接器类型(如 Kafka、JDBC、HBase),以及字段名称和数据类型。

  2. 阐述处理逻辑: 描述具体的数据转换需求。这包括过滤条件、聚合操作、窗口类型(滚动窗口、滑动窗口或会话窗口)以及任何必要的 Join 操作。

示例:

请编写一个 Flink SQL 作业。数据源为 Kafka 的 user_behavior topic,包含 user_id 和 timestamp。请计算每 5 分钟的滚动窗口内,独立用户(UV)的访问量,并将结果写入 MySQL 的 uv_stats 表。

image

重要

助手回答的内容会偏向于符合 ANSI SQL 标准及 Flink 特性的 DDL(数据定义语言)与 DML(数据操作语言)代码。在平台使用时,往往使用的是CREATE TEMPORARY TABLE,而非CREATE TABLE

作业开发报错分析

开发作业时,可能有不符合规范的语句或者错误,可以在报错信息的右上角进行分析。

image

运行时报错日志分析

  1. 任务直接报错,没有日志的情况。

    运维中心 > 作业运维中,针对失败的作业会出现AI智能诊断的图标。

    image

  2. 已经出现错误日志

    如果作业没有失败,或错误不影响运行的异常信息,可以直接在作业日志的右上角,单击AI智能诊断进行日志分析。

    image

参数查询

  1. 确定连接器类型。

  2. 需要实现的功能描述。

示例

Hologres实现部分列写入,有什么参数可以实现?

image

资源配置与参数调优

在作业开发完成后,合理的参数配置是保障作业稳定运行的关键。Flink AI 能够根据您的资源限额(CU 总数)和作业特性,自动生成最优的并行度与内存参数组合。

  • 资源预算:明确您拥有的 CU 总数或核心数。

  • 作业类型:是计算密集型(复杂的 UDF/JSON 解析)还是内存密集型(大窗口/去重)。

  • 调优目标:追求高吞吐、低延迟,还是作业稳定性。

示例:

我现在有10CU的资源,需要运行一个标准的双流 Join 作业,两个表都是MySQL,在保证高吞吐的情况下,分配 TaskManager 的个数与内存,以及参数调优建议。

image