全部產品
Search
文件中心

Realtime Compute for Apache Flink:代碼模板

更新時間:Sep 13, 2024

Flink全託管為您提供了豐富的代碼模板,每種代碼模板都為您提供了具體的使用情境、程式碼範例和使用指導。您可以通過代碼模板快速地瞭解Flink產品功能和相關文法,實現自己的商務邏輯。本文為您介紹代碼模板的使用情境和操作步驟。

使用限制

僅Realtime Compute引擎vvr-4.0.12-flink-1.13及以上版本支援使用代碼模板。

注意事項

如果該模板中不包含INSERT INTO語句,則不支援部署該作業。

支援的模板

Flink全託管支援的模板和其使用情境詳情如下表所示,具體請以控制台為準。

模板類別

模板名稱

使用情境

基礎模板

建立表

如果您需要建立表並儲存在Catalog中,則可以使用DDL建立表。對錶的操作和資料庫類似。

建立暫存資料表

如果您只需要在當前會話或SQL指令碼中使用某些表,則可以使用暫存資料表。

建立臨時視圖

如果您需要在Flink SQL開發過程中,重用代碼,組織長查詢或者SQL指令碼來簡化開發,則可以使用臨時視圖。

INSERT INTO

如果您需要將查詢結果寫入到外部儲存系統中的表,從而提供給下遊應用程式,則可以使用INSERT INTO文法。

STATEMENT SET

如果您需要將查詢的結果輸出到下遊的兩到多個外部系統中,則可以使用STATEMENT SET文法。

Watermark

如果您希望Flink可以正確處理亂序資料,則需要使用Watermark。您可以在建表DDL中建立一個Watermark,即在一個已有欄位上定義一個Watermark產生運算式,標記這個欄位為時間屬性欄位。詳情請參見Event Time and Watermarks

彙總分析

GROUP BY

如果您需要即時對資料進行彙總分析,則可以使用GROUP BY語句。

滾動視窗彙總

如果您需要對時間序列資料進行分組,並對每個分組內的資料進行彙總分析,則可以使用滾動視窗。

滑動視窗彙總

如果您需要每間隔一段時間更新一個視窗內的資料,則可以使用滑動視窗。

累積視窗彙總

如果您需要提早看到視窗的計算結果,例如每分鐘看到最新的視窗結果,則可以使用累積視窗。

說明

累積視窗彙總不支援CDC,使用CDC後文法校正會報錯org.apache.flink.table.api.TableException: Not supported window type: CUMULATE(max_size=[xxx ms], step=[xxx min])

會話視窗彙總

如果您需要即時統計使用者在一個活躍會話期間的資料,則可以使用會話視窗。

Over視窗彙總

如果您需要對一個視窗內的每個元素進行統計分析,則需要使用OVER視窗。

重疊顯示視窗彙總

如果您需要同時對同一個流的資料進行不同時間維度(例如1min、5min、30min、1h)的彙總,則可以使用重疊顯示視窗。

去重模板

去重

如果您需要去除資料流中的重複資料,則可以使用去重文法。

Top-N模板

Top-N

如果您需要根據業務要求計算出當前排名前幾位或者後幾位的資料,則可以使用Top-N文法。

視窗Top-N

如果您需要在某個時間範圍內計算出目前排名前幾位或者後幾位的資料,則可以使用視窗Top-N文法。

CEP模板

模式檢測(CEP)

在資料流情景中,如果您需要搜尋一組事件模式,則可以使用MATCH_RECOGNIZE文法。

Join模板

Regular Join

如果您需要關聯查詢其他流表的資料進行計算,則可以使用Regular Join文法。

Interval Join

如果您需要關聯某張表在指定時間範圍內的資料,則可以使用Interval Join文法。

時態表Join

如果您需要流表中的每條資料都關聯其他表中對應時間版本資料,則可以使用時態表Join。

維表Join

如果您需要關聯靜態維表上的資料,則可以使用維表Join。

操作步驟

本文以建立表模板為您介紹如何使用代碼模板。

  1. 登入Realtime Compute控制台

  2. 單擊對應工作空間操作列下的控制台

  3. 資料開發 > ETL頁面,單擊建立

  4. SQL基礎模版頁簽,雙擊目標模板名稱,或者單擊選中目標模板後,在右下角單擊下一步

    image..png

  5. 根據需要,修改檔案名稱儲存位置引擎版本和SQL代碼。

    image..png

  6. 單擊建立

    後面的操作和正常的作業開發完全相同,作業開發的操作步驟詳情請參見SQL作業開發