本文將介紹Flink AI助手的使用方式,該工具將能更好地協助開發人員完成Flink SQL作業開發、異常診斷及日誌問題分析。
功能概述
Flink AI 智能助手是一款基於大語言模型(LLM)構建的智能開發工具,深度整合於 Flink Realtime Compute控制台。旨在降低即時資料開發的門檻,提升代碼編寫與營運效率。
通過自然語言互動,它能理解複雜的業務需求,協助使用者完成從 SQL 代碼產生、邏輯解釋到故障診斷的全流程工作。
核心能力
智能代碼產生
助手能夠理解自然語言描述的業務需求,自動產生符合 Flink SQL 文法的程式碼片段或完整作業。它支援源表聲明、維表關聯、複雜視窗計算及結果表寫入的邏輯構建。代碼邏輯解釋
針對複雜的 SQL 邏輯或遺留代碼,助手提供逐行解析服務。它能將晦澀的技術實現轉化為易懂的業務語言,協助開發人員快速理解資料流轉過程與計算邏輯。智能故障診斷
當作業運行出現異常或語法錯誤時,助手能分析報錯日誌,定位根因,提供具體的修複建議。效能最佳化建議
基於 Flink 最佳實務,助手能識別代碼中潛在的效能瓶頸(如資料扭曲、狀態過大),並給出參數調優或 SQL 改寫建議。
技能調用(Skills)
AI 助手內建預定義技能,覆蓋作業開發與營運的高頻操作。在輸入框中輸入 @ 喚起技能列表,選擇目標技能後以自然語言描述意圖,助手自動執行對應操作。
技能 | 說明 |
草稿開發 | 查詢和解讀 Flink 作業草稿資訊 |
部署管理 | 查詢和解讀 Flink 作業的部署資訊 |
作業啟停營運 | 操作 Flink 作業的運行狀態與生命週期 |
Session 叢集管理 | 查詢和解讀 Session 叢集資訊 |
作業診斷 | 深度診斷 Flink 作業問題,包括問題識別與修複建議 |
資源配置 | 查詢和解讀作業資源配置資訊 |
運行參數 | 查詢 Flink 作業運行參數配置 |
Agent 模式與 Chat 模式
AI 助手提供兩種互動模式,通過輸入框下方切換:
Agent 模式——助手主動調用技能執行操作,適合需要查詢資料、執行診斷等涉及工作空間實際操作的情境。
Chat 模式——純對話問答,適合概念諮詢、SQL 文法解釋等不涉及系統操作的情境。
快速入門
如何喚起
在開發控制台右下角的懸浮窗,單擊
表徵圖,即可喚出智能助手。
AI助手的回答具有一定幻覺和時效性,可能產生文法正確但功能不存在的參數。也可能由於版本迭代過快,參數已經被廢棄的情況。在輔助使用的情況下,請參閱相關連接器的參數文檔,以官方文檔的內容為準。
介面展示
AI助手介面位於開發控制台中,開啟後顯示歡迎頁面。頂部分為開發調試、異常診斷、效能調優和常見問題四個頁簽,每個頁簽下列出常見問題供快捷提問。頁面底部提供輸入框,可直接輸入自然語言與助手互動。
功能詳解
資源規劃諮詢
在擴容或配置 Flink 計算資源(CU)之前,AI助手能夠根據您的業務規模進行科學的容量預估。準確的提問是擷取有效建議的關鍵。
資料輸送量:明確每秒處理的訊息數量 (TPS/QPS) 或資料流量大小 (MB/s)。
計算邏輯複雜度:描述主要的操作類型(如:簡單過濾、多流 Join、大視窗彙總)。
時效性要求:說明對延遲的容忍度(如:秒級延遲、分鐘級延遲)。
樣本:
我需要從 Kafka 讀取資料,QPS 約為 50,000 條/秒,單條資料大小 1KB。邏輯是進列欄位重新命名和簡單過濾,然後寫入 Hologres。請推薦合適的並發度和 CU 數量。
AI助手將根據提供的業務參數進行分析,返回包含結論和依據兩部分的回答。結論部分直接給出推薦的並發度和CU數量,依據部分從QPS處理能力、並發度設定、外系統瓶頸、視窗函數影響等維度提供詳細分析。
作業輔助編寫
AI助手能夠根據業務需求,產生符合Flink特性的SQL代碼。
定義資料來源與接收端: 向助手清晰描述資料的輸入源(Source)與輸出端(Sink)。必須指明連接器類型(如 Kafka、JDBC、HBase),以及欄位名稱和資料類型。
闡述處理邏輯: 描述具體的資料轉換需求。這包括過濾條件、彙總操作、視窗類別型(滾動視窗、滑動視窗或會話視窗)以及任何必要的 Join 操作。
樣本:
請編寫一個 Flink SQL 作業。資料來源為 Kafka 的 user_behavior topic,包含 user_id 和 timestamp。請計算每 5 分鐘的滾動視窗內,獨立使用者(UV)的訪問量,並將結果寫入 MySQL 的 uv_stats 表。
AI助手將根據需求產生完整的Flink SQL工作範本,包含源表和結果表的CREATE TABLE語句及WITH參數配置,可直接複製到SQL編輯器中使用。
助手回答的內容會偏向於符合 ANSI SQL 標準及 Flink 特性的 DDL(資料定義語言 (Data Definition Language))與 DML(資料操作語言)代碼。在平台使用時,往往使用的是CREATE TEMPORARY TABLE,而非CREATE TABLE。
作業開發報錯分析
開發作業時,可能有不符合規範的語句或者錯誤,可以在報錯資訊的右上方進行分析。
運行時報錯日誌分析
任務直接報錯,沒有日誌的情況。
在中,針對失敗的作業會出現AI智能診斷的表徵圖。
已經出現錯誤記錄檔。
如果作業沒有失敗,或錯誤不影響啟動並執行異常資訊,可以直接在作業日誌的右上方,單擊AI智能診斷進行日誌分析。
參數查詢
確定連接器類型。
需要實現的功能描述。
樣本:
Hologres實現部分列寫入,有什麼參數可以實現?
AI助手將列出實現該功能的相關參數(如sink.partial-insert.enabled等),並逐一說明每個參數的作用、取值、適用情境和參考文檔連結。
資源配置與參數調優
在作業開發完成後,合理的參數配置是保障作業穩定啟動並執行關鍵。Flink AI 能夠根據您的資源限額(CU 總數)和作業特性,自動產生最優的並行度與記憶體參數組合。
資源預算:明確您擁有的 CU 總數或核心數。
作業類型:是計算密集型(複雜的 UDF/JSON 解析)還是記憶體密集型(大視窗/去重)。
調優目標:追求高吞吐、低延遲,還是作業穩定性。
樣本:
我現在有10CU的資源,需要運行一個標準的雙流 Join 作業,兩個表都是MySQL表,在保證高吞吐的情況下,分配 TaskManager 的個數與記憶體,以及參數調優建議。
AI助手將根據資源預算和作業類型,給出TaskManager和JobManager的資源分派方案、關鍵參數調優建議(包括Mini-batch、狀態TTL、Checkpoint配置)及其他最佳化建議。