全部產品
Search
文件中心

DataWorks:Flink SQL Streaming節點

更新時間:Mar 13, 2025

DataWorks新版資料開發中的Flink SQL Streaming節點支援使用標準SQL語句定義即時任務處理邏輯。Flink SQL Streaming具有易用性、豐富的SQL支援、強大的狀態管理及容錯能力,相容事件時間和處理時間,並可靈活擴充。該節點易於與Kafka、HDFS等系統整合,提供詳盡的日誌和效能監控工具。您只需在DataWorks專案中添加Flink SQL Streaming任務並編寫SQL語句即可開始即時資料處理。本文將介紹如何在DataWorks開發Flink SQL Streaming節點任務,並通過DataWorks完成Flink即時資料處理。

前提條件

步驟一:開發Flink SQL Streaming節點

在Flink SQL Streaming節點編輯頁面,執行如下開發操作,完成節點任務開發。

開發SQL代碼

在SQL編輯地區開發工作單位代碼,您可在代碼中使用${變數名}的方式定義變數,並在節點編輯頁面右側即時配置指令碼參數中為該變數賦值。實現調度情境下代碼的動態傳參,調度參數使用詳情,樣本如下。

--建立源表datagen_source。
CREATE TEMPORARY TABLE datagen_source(
  name VARCHAR
) WITH (
  'connector' = 'datagen'
);

--建立結果表blackhole_sink。
CREATE TEMPORARY TABLE blackhole_sink(
  name  VARCHAR
) WITH (
  'connector' = 'blackhole'
);

--將源表資料插入到結果表。
INSERT INTO blackhole_sink
SELECT
  name
FROM datagen_source WHERE LENGTH(name) > ${name_length};
說明

該樣本參數name_length對應的參數值為5,通過設定該參數可以實現對人名長度小於5的資料進行過濾。

步驟二:配置Flink SQL Streaming節點

您可根據業務情況,參照下面的參數描述資訊配置Flink SQL Streaming節點任務。

配置Flink資源

您可在編輯頁面右側即時配置框的Flink資源資訊中根據資源模式配置如下參數資訊,詳情請參見配置作業資源

參數

參數描述

Flink 叢集

在管理中心綁定的全託管Flink計算資源名稱。

Flink 引擎版本

您可根據實際情況選擇引擎版本。

資源群組

選擇與Flink網路連通的Serverless資源群組

資源模式支援以下兩種模式,詳情請參見配置作業資源

  • 基礎模式(預設值):適合初學者和簡單應用情境,使用預設配置和簡化設定來快速啟動和運行Flink作業。

  • 專家模式:為有經驗的使用者提供進階配置選項,允許對效能和資源進行精細化調優,以滿足複雜或高效能需求。

請根據您選擇的資源模式,參考下文配置相關參數。通過深入理解Flink架構,您可以更有效地進行參數配置,Flink架構詳情請參見Flink Architecture | Apache Flink

基礎模式

Job Manager CPU

根據Flink的最佳實務,JobManager至少需要0.5核CPU和2GiB記憶體來確保穩定運行,建議配置為1核CPU和4 GiB記憶體,最大不超過16核CPU。具體配置應根據叢集規模和作業複雜度調整。

Job Manager Memory

JobManager的記憶體配置影響其處理調度和管理工作的能力,推薦配置範圍是2 GiB到64 GiB,以確保穩定高效的運行。具體大小應根據叢集規模和作業需求調整。

Task Manager CPU

TaskManager的CPU資源配置影響其任務處理能力。根據Flink的最佳實務,建議配置至少0.5核CPU和2 GiB記憶體,推薦1核CPU和4 GiB記憶體,最大不超過16核CPU。具體配置應依據實際需求調整。

Task Manager Memory

TaskManager的記憶體配置決定了其處理任務的資料量和效能。為了確保任務穩定執行和高效處理,記憶體大小至少應為2 GiB,最大可設定為64 GiB。

並發度

決定了Flink作業中任務的並存執行數量,較高的並發度可以提高處理速度和資源使用率,您需要根據叢集資源和作業特性進行合理設定。

每個TaskManager Slot數

每個TaskManager的Slot數決定了它可以並存執行的任務數量,您可通過調整Slot配置最佳化資源利用和作業的平行處理能力。

專家模式

Job Manager CPU

根據Flink的最佳實務,JobManager至少需要0.25核CPU和1 GiB記憶體來確保穩定運行,最大不超過16核CPU。具體配置應根據叢集規模和作業複雜度調整。

Job Manager Memory

JobManager的記憶體配置影響其處理調度和管理工作的能力,推薦配置範圍是1 GiB到64 GiB,以確保穩定高效的運行。具體大小應根據叢集規模和作業需求調整。

每個TaskManager Slot數

每個TaskManager的Slot數決定了它可以並存執行的任務數量,您可通過調整Slot配置最佳化資源利用和作業的平行處理能力。

多SSG模式

預設情況下,所有運算元都放在一個Slot共用組內,因此您無法為每個運算元單獨修改資源配置。如果您需要對單獨的運算元設定資源,需要開啟多SSG模式後讓每個運算元有自己獨立的Slot,這樣就可以直接在對應的Slot上設定運算元的資源。

(可選)配置指令碼參數

您可在右側導覽列的即時配置框的指令碼參數中單擊添加參數,並編輯相應的參數名參數值資訊,方便在代碼中動態使用。

(可選)配置Flink運行參數

您可在右側導覽列的即時配置框的Flink運行參數中配置如下參數資訊,詳情請參見配置作業部署資訊

參數

描述

系統檢查點間隔

配置該參數決定了Flink作業定時執行系統檢查點的時間間隔,較短的間隔可以減少故障恢復但會增加系統開銷。如果不填寫,將會關閉系統檢查點。

兩次系統檢查點之間的最短時間間隔

配置該參數定義了Flink在連續檢查點之間必須等待的最小時間,以防止過於頻繁的檢查點對系統效能造成影響。這確保了當系統檢查點的最大並行度為1時,兩次檢查點之間存在一個最短的時間間隔。

State資料到期時間

配置該參數決定了Flink作業中狀態資料在沒有被訪問或更新的情況下可以保留的最長時間,預設值為36小時,即作業狀態資訊將在36小時後自動到期並清除。以最佳化狀態儲存和資源使用。

重要

此處預設值根據云上最佳實務的經驗值設定,與開源的預設值不同(開源預設值為0,表示狀態資訊永不到期)。

其它配置

支援Flink的其它運行參數配置,您可在此配置Flink的其它運行參數,例如:taskmanager.network.memory.max:4g

說明

更多參數配置詳情請參見配置作業部署資訊

完成任務配置後,單擊儲存節點任務。

步驟三:啟動Flink SQL Streaming節點

  1. 發布Flink SQL Streaming節點。

    任務需要發布至營運中心後才可執行,請參考介面引導對需要啟動並執行Flink SQL Streaming節點執行發佈動作,詳情請參見節點/工作流程發布

    說明

    發佈動作會同步將任務發布至Flink vvp空間,您可在Flink vvp營運中心>作業營運中看到通過DataWorks發布的任務。

  2. 啟動Flink SQL Streaming節點。

    任務發布後,您可以單擊發布到生產環境下方的去營運,在營運中心的任務營運 > 即時任務營運 > Realtime Compute任務中找到需要啟動的任務,單擊任務操作列的啟動按鈕,啟動並查看Realtime Compute任務的運行情況。