本文帶您快速體驗Flink JAR流作業和批作業的創建、部署和啟動,以了解實時計算Flink版JAR作業的操作流程。
前提條件
如果您使用RAM用戶或RAM角色等身份訪問,需要確認已具有Flink控制臺相關權限,詳情請參見權限管理。
已創建Flink工作空間,詳情請參見開通實時計算Flink版。
步驟一:開發JAR包
Flink實時計算管理控制臺不提供JAR包的開發環境,您需要在本地完成開發、編譯、打包。有關配置環境依賴、連接器的使用以及OSS附加依賴文件讀取,詳情請參見JAR作業開發。
本地開發依賴的Flink版本需確保與后續步驟三:部署JAR作業選擇的引擎版本保持一致,同時注意依賴包作用域范圍。
為了幫助您快速熟悉Flink的JAR作業操作,本文已為您提供統計單詞出現頻率的測試JAR包和數據文本,您可以直接下載待后續步驟使用。
單擊FlinkQuickStart-1.0-SNAPSHOT.jar,下載測試JAR包。
如果您有興趣研究其源代碼,請單擊FlinkQuickStart.zip下載后進行編譯。
單擊Shakespeare,下載數據文本Shakespeare。
步驟二:上傳測試JAR包和數據文件
登錄實時計算控制臺。
單擊目標工作空間操作列下的控制臺。
在左側導航欄,單擊文件管理。
單擊上傳資源,上傳要部署的JAR包和數據文件。
本文上傳步驟一下載的FlinkQuickStart-1.0-SNAPSHOT.jar和Shakespeare文件,文件存儲路徑詳情請參見文件管理。
步驟三:部署JAR作業
流作業
在 頁面,單擊部署作業,選擇JAR作業。
填寫部署信息。
參數
說明
示例
部署模式
請選擇部署為流模式。
流模式
部署名稱
填寫對應的JAR作業名稱。
flink-streaming-test-jar
引擎版本
當前作業使用的Flink引擎版本。
vvr-8.0.9-flink-1.17
JAR URI
選擇步驟二中資源管理上傳的FlinkQuickStart-1.0-SNAPSHOT.jar,您也可以點擊右側的圖標選擇文件,上傳您自己的JAR包。
-
Entry Point Class
程序的入口類。如果您的JAR包未指定主類,請在此處輸入您的Endpoint Class類的標準路徑。
因為本文提供的測試JAR包中既包含了流作業代碼,又包含批作業代碼。所以此處需要指定為流作業的程序入口。
org.example.WordCountStreaming
Entry Point Main Arguments
填寫傳入參數信息,在主方法里面調用該參數。
本文填寫輸入數據文件Shakespeare的存放路徑。
部署目標
在下拉列表中,選擇目標資源隊列或者Session集群(請勿生產使用)。詳情請參見管理資源隊列和步驟一:創建Session集群。
重要部署到Session集群的作業不支持顯示監控告警、配置監控告警和開啟自動調優功能。請勿將Session集群用于正式生產環境,Session集群可以作為開發測試環境。詳情請參見作業調試。
default-queue
更多配置參數詳情請參見部署作業。
單擊部署。
批作業
在 頁面,單擊部署作業,選擇JAR作業。
填寫部署信息。
參數
說明
示例
部署模式
請選擇部署為批模式。
批模式
部署名稱
填寫對應的JAR作業名稱。
flink-batch-test-jar
引擎版本
當前作業使用的Flink引擎版本。
vvr-8.0.9-flink-1.17
JAR URI
選擇步驟二中資源管理上傳的FlinkQuickStart-1.0-SNAPSHOT.jar,您也可以點擊右側的圖標選擇文件,上傳您自己的JAR包。
-
Entry Point Class
程序的入口類。如果您的JAR包未指定主類,請在此處輸入您的Endpoint Class類的標準路徑。
因為本文提供的測試JAR包中既包含了流作業代碼,又包含批作業代碼。所以此處需要指定為批作業的程序入口。
org.example.WordCountBatch
Entry Point Main Arguments
填寫傳入參數信息,在主方法里面調用該參數。
本文填寫輸入數據文件Shakespeare和輸出數據文件batch-quickstart-test-output.txt的存放路徑。
說明您只需指定輸出文件的全路徑名稱,無需提前在存儲服務中創建輸出文件,輸出文件的目錄路徑與輸入文件保持一致即可。
存儲類型為OSS Bucket:
--input oss://<您綁定的OSS Bucket名稱>/artifacts/namespaces/<項目空間名稱>/Shakespeare
--output oss://<您綁定的OSS Bucket名稱>/artifacts/namespaces/<項目空間名稱>/batch-quickstart-test-output.txt
您可以直接在文件管理中復制
Shakespeare
文件的完整路徑。存儲類型為全托管存儲:
--input oss://flink-fullymanaged-<工作空間ID>/artifacts/namespaces/<項目空間名稱>/Shakespeare
--output oss://flink-fullymanaged-<工作空間ID>/artifacts/namespaces/<項目空間名稱>/batch-quickstart-test-output.txt
部署目標
在下拉列表中,選擇目標資源隊列或者Session集群(請勿生產使用)。詳情請參見管理資源隊列和步驟一:創建Session集群。
重要部署到Session集群的作業不支持顯示監控告警、配置監控告警和開啟自動調優功能。請勿將Session集群用于正式生產環境,Session集群可以作為開發測試環境。詳情請參見作業調試。
default-queue
更多配置參數詳情請參見部署作業。
單擊部署。
步驟四:啟動并查看Flink計算結果
流作業
在
頁面,單擊目標作業名稱操作列中的啟動。選擇無狀態啟動,單擊啟動,作業啟動詳情請參見作業啟動。
作業狀態變為運行中后,查看流作業示例的計算結果。
在TaskManager中以.out結尾的日志文件中,搜索shakespeare查看Flink計算結果。
批作業
由于Taskmanager.out日志展示數據限制為2000條,因此流作業和批作業的結果數據條數會不一致。有關限制詳情請參見Print。
(可選)步驟五:停止作業
如果您對作業進行了修改(例如更改代碼、增刪改WITH參數、更改作業版本等),且希望修改生效,則需要重新部署作業,然后停止再啟動。另外,如果作業無法復用State,希望作業全新啟動時,或者更新非動態生效的參數配置時,也需要停止后再啟動作業。作業停止詳情請參見作業停止。
相關文檔
您可以在作業啟動前配置作業資源或者作業上線后修改作業資源,支持基礎模式(粗粒度)和專家模式(細粒度)兩種資源模式,詳情請參見配置作業資源。
支持動態更新Flink作業參數,可以實現更快的參數配置生效,減少作業啟停對業務的中斷時間,詳情請參見動態擴縮容與參數動態更新。
配置作業日志級別以及配置不同級別日志分別輸出,詳情請參見配置作業日志輸出。
您可以通過簡單示例快速體驗SQL作業完整的開發流程,詳情請請參見Flink SQL作業快速入門。