Flink SQL作業(yè)快速入門
本文通過簡單的示例,帶您快速體驗Flink SQL作業(yè)的創(chuàng)建、部署和啟動等操作,以了解Flink SQL作業(yè)的操作流程。
前提條件
如果您使用RAM用戶或RAM角色等身份訪問,需要確認已具有Flink控制臺相關權限,詳情請參見權限管理。
已創(chuàng)建Flink工作空間,詳情請參見開通實時計算Flink版。
步驟一:創(chuàng)建作業(yè)
進入SQL作業(yè)創(chuàng)建頁面。
登錄實時計算控制臺。
單擊目標工作空間操作列下的控制臺。
在左側導航欄,單擊 。
單擊新建后,在新建作業(yè)草稿對話框,選擇空白的流作業(yè)草稿,單擊下一步。
Flink也為您提供了豐富的代碼模板和數(shù)據(jù)同步,每種代碼模板都為您提供了具體的使用場景、代碼示例和使用指導。您可以直接單擊對應的模板快速地了解Flink產(chǎn)品功能和相關語法,實現(xiàn)您的業(yè)務邏輯,詳情請參見代碼模板和數(shù)據(jù)同步模板。
填寫作業(yè)信息。
作業(yè)參數(shù)
說明
示例
文件名稱
作業(yè)的名稱。
說明作業(yè)名稱在當前項目中必須保持唯一。
flink-test
存儲位置
指定該作業(yè)的代碼文件所屬的文件夾。
您還可以在現(xiàn)有文件夾右側,單擊圖標,新建子文件夾。
作業(yè)草稿
引擎版本
當前作業(yè)使用的Flink引擎版本。
建議使用帶有推薦、穩(wěn)定標簽的版本,這些版本具有更高的可靠性和性能表現(xiàn),引擎版本詳情請參見功能發(fā)布記錄和引擎版本介紹。
vvr-8.0.8-flink-1.17
單擊創(chuàng)建。
步驟二:編寫SQL作業(yè)
拷貝如下SQL到SQL編輯區(qū)域。本SQL示例使用Datagen連接器生成隨機的數(shù)據(jù)流,并通過Print連接器將計算結果打印到實時計算開發(fā)控制臺上。支持的更多連接器請參見支持的連接器。
--創(chuàng)建臨時源表datagen_source。
CREATE TEMPORARY TABLE datagen_source(
randstr VARCHAR
) WITH (
'connector' = 'datagen' -- datagen連接器
);
--創(chuàng)建臨時結果表print_table。
CREATE TEMPORARY TABLE print_table(
randstr VARCHAR
) WITH (
'connector' = 'print', -- print連接器
'logger' = 'true' -- 控制臺顯示計算結果
);
--將randstr字段截取后打印出來。
INSERT INTO print_table
SELECT SUBSTRING(randstr,0,8) from datagen_source;
本SQL示例給出了用
INSERT INTO
寫入一個Sink,INSERT INTO
也可以寫入多個Sink,有關詳情請參見INSERT INTO語句。在實際生產(chǎn)作業(yè)中,建議您盡量減少臨時表的使用,直接使用元數(shù)據(jù)管理中已經(jīng)注冊的表,詳情請參見管理元數(shù)據(jù)。
步驟三:查看配置信息
在SQL編輯區(qū)域右側頁簽,您可以查看或上傳相關配置。
頁簽名稱 | 配置說明 |
更多配置 | |
代碼結構 |
|
版本信息 | 您可以在此處查看作業(yè)版本信息,操作列下的功能詳情請參見管理作業(yè)版本。 |
(可選)步驟四:進行深度檢查
深度檢查能夠檢查作業(yè)的SQL語義、網(wǎng)絡連通性以及作業(yè)使用的表的元數(shù)據(jù)信息。同時,您可以單擊結果區(qū)域的SQL優(yōu)化,展開查看SQL風險問題提示以及對應的SQL優(yōu)化建議。
在SQL編輯區(qū)域右上方,單擊深度檢查。
在深度檢查對話框,單擊確認。
(可選)步驟五:進行作業(yè)調試
您可以使用作業(yè)調試功能模擬作業(yè)運行、檢查輸出結果,驗證SELECT或INSERT業(yè)務邏輯的正確性,提升開發(fā)效率,降低數(shù)據(jù)質量風險。
在SQL編輯區(qū)域右上方,單擊調試。
在調試對話框,選擇調試集群后,單擊下一步。
如果沒有可用集群則需要創(chuàng)建新的Session集群,Session集群與SQL作業(yè)引擎版本需要保持一致并處于運行中,詳情請參見步驟一:創(chuàng)建Session集群。
配置調試數(shù)據(jù),單擊確定。
配置詳情請參見步驟二:作業(yè)調試。
步驟六:作業(yè)部署
在SQL編輯區(qū)域右上方,單擊部署,在部署新版本對話框,可根據(jù)需要填寫或選中相關內(nèi)容,單擊確定。
Session集群適用于非生產(chǎn)環(huán)境的開發(fā)測試環(huán)境,通過部署或調試作業(yè)提高作業(yè)JM(Job Manager)資源利用率和提高作業(yè)啟動速度。但不推薦您將生產(chǎn)作業(yè)提交至Session集群中,可能會導致業(yè)務穩(wěn)定性問題。
步驟七:啟動作業(yè)并查看結果
在左側導航欄,單擊 。
單擊目標作業(yè)名稱操作列中的啟動。
選擇無狀態(tài)啟動后,單擊啟動。當您看到作業(yè)狀態(tài)變?yōu)?b data-tag="uicontrol" id="uicontrol-68w-55e-ke5" class="uicontrol">運行中,則代表作業(yè)運行正常。作業(yè)啟動參數(shù)配置,詳情請參見作業(yè)啟動。
在作業(yè)運維詳情頁面,查看Flink計算結果。
在 頁面,單擊目標作業(yè)名稱。
在作業(yè)日志頁簽,單擊運行Task Managers頁簽下的Path, ID的任務。
單擊日志,在頁面搜索PrintSinkOutputWriter相關的日志信息。
(可選)步驟八:停止作業(yè)
如果您對作業(yè)進行了修改(例如更改代碼、增刪改WITH參數(shù)、更改作業(yè)版本等),且希望修改生效,則需要重新部署作業(yè),然后停止再啟動。另外,如果作業(yè)無法復用State,希望作業(yè)全新啟動時,或者更新非動態(tài)生效的參數(shù)配置時,也需要停止后再啟動作業(yè)。作業(yè)停止詳情請參見作業(yè)停止。
相關文檔
您可以在作業(yè)啟動前配置作業(yè)資源或者作業(yè)上線后修改作業(yè)資源,支持基礎模式(粗粒度)和專家模式(細粒度)兩種資源模式,詳情請參見配置自動調優(yōu)。
配置作業(yè)日志級別以及配置不同級別日志分別輸出,詳情請參見配置作業(yè)日志輸出。
JAR作業(yè)完整的開發(fā)流程示例,詳情請參見Flink JAR作業(yè)快速入門。
Python作業(yè)完整的開發(fā)流程示例,詳情請參見Flink Python作業(yè)快速入門。
數(shù)據(jù)庫實時入倉完整的操作流程示例,詳情請參見數(shù)據(jù)庫實時入倉快速入門。