實時計算Flink版VS Code插件基于功能強大的VS Code編輯器,為您打通了本地Flink作業開發全流程,幫助您在本地輕松完成Flink作業的開發、部署及上線,包括SQL、JAR和Python作業,并支持快速從線上同步作業配置。本文為您介紹VS Code插件的使用說明和操作步驟。
前提條件
已開通Flink工作空間。開通請參見開通實時計算Flink版。
已獲取AccessKey ID和AccessKey Secret,且對應訪問身份具有目標項目空間權限,詳情請參見如何查看AccessKey ID和AccessKey Secret信息?和項目空間授權。
已安裝v1.74.0及以上版本的VS Code編輯器。如未安裝,請前往VS Code官網下載。
使用限制
暫不支持日志配置。
暫不支持拉取線上存量作業。
插件安裝及配置
下載安裝插件。
方式1:在VSCode Marketplace直接單擊Install安裝插件。
方式2:
打開VS Code,單擊左側導航欄的EXTENSIONS。
在搜索欄搜索插件Flink Realtime Compute Studio。
單擊目標插件的Install。
在頂部菜單欄單擊
,選擇本地目標文件夾。配置AccessKey信息。
當前工作項目空間(當前文件目錄)下生效
單擊左側導航欄的,在Configure AK&SK部分單擊Configure in a.vvprc file,插件會自動創建一個
.vvprc
擴展名的文件。填入下列配置信息。
{ "accessKey": "xxx", "secretKey": "xxx", "namespace": "xxx", "workspace": "xxx", "regionId" : "xxx" }
參數
說明
備注
accessKey
阿里云賬號的AccessKey ID。
secretKey
阿里云賬號的AccessKey Secret。
namespace
Flink項目空間名稱。
詳情請參見查看與刪除項目空間。
workspace
Flink工作空間ID。
詳情請參見如何查看工作空間ID等信息?。
regionId
地區ID。
參見服務接入點中的地域ID。
全局生效
單擊左側導航欄的。
在Configure AK&SK部分單擊Configure in global user settings,會自動跳轉到VS Code全局設置。
根據需要選擇User或Workspace進行配置。
說明建議優先選擇User進行配置,該配置在VS Code編輯器中適用于所有項目和工作區,存儲在全局配置文件中,而Workspace只適用于當前打開的工作區。
參數
說明
備注
Access Key
阿里云賬號的AccessKey ID。
Secret Key
阿里云賬號的AccessKey Secret。
Namespace
Flink項目空間名稱。
詳情請參見查看與刪除項目空間。
Workspace
Flink工作空間ID。
詳情請參見如何查看工作空間ID等信息?。
Region ID
地區ID。
參見服務接入點中的地域ID。
說明配置優先級:本級文件夾配置 > 父級文件夾配置 > 全局配置。
配置生效后,當前打開的作業編輯器的底邊狀態欄將顯示對應項目空間名稱。
(可選)可以選擇安裝以下兩種插件提高編寫效率。
Flink SQL:可選擇安裝Flink SQL Language Features插件為您提供Flink SQL語言服務,支持完善的Flink SQL語法。
Flink配置:推薦安裝YAML VS Code插件,為您提供Flink配置的自動補全功能。
使用步驟
步驟一:創建作業
方式一:單擊左側導航欄的,在QUICK START部分單擊Create a new deployment,在頂部輸入名稱后,按Enter創建一個
.vvp
擴展名的文件,插件將生成一個帶有默認字段的作業。方式二:直接在文件樹中新建一個
.vvp
擴展名的文件,插件將生成一個帶有默認字段的作業。
步驟二:配置作業
您可以直接在UI表單中配置參數。
如果您對作業配置比較熟悉,可以單擊左上角的Raw File按鈕,在作業源文件中進行配置。單擊UI表單中的字參數名稱,源文件可直接跳轉到對應位置。
Basic:基本參數配置
參數
說明
Deployment Name
作業名稱。
Execution Mode
部署模式,支持流模式(STREAM)和批模式(BATCH)。
Engine Version
引擎版本詳情請參見引擎版本介紹。建議您使用推薦版本。
Deployment Target
選擇部署的目標資源隊列,詳情請參見管理資源隊列。
Deployment Type
選擇為SQL。
SQL Script
單擊Open in external editor打開本地編輯器。編寫DDL和DML代碼。
說明此處打開的編輯器不是真實文件系統中的文件,因此重新打開VS Code時,如果有未關閉的虛擬文件,對應編輯器窗口會顯示
The editor could not be opened because the file was not found
錯誤信息,再次單擊Open in external editor即可正常打開。Additional Dependencies
作業中需要使用到的附加依賴,需填寫目標附加依賴文件的URI。
Description
可選,填寫備注信息。
參數配置詳情請參見部署JAR作業。
參數
說明
DeploymentName
作業名稱。
Execution Mode
部署模式,支持流模式(STREAM)和批模式(BATCH)。
Engine Version
引擎版本,詳情請參見引擎版本介紹,建議您使用推薦版本。
Deployment Target
部署目標,選擇目標資源隊列,詳情請參見管理資源隊列。
Deployment Type
部署作業類型,選擇為JAR。
JAR URI
Jar包的OSS路徑或URL。
您需確認已在Flink開發控制臺資源管理中或綁定的OSS Bucket中上傳相關依賴文件,并獲取對應路徑。
Entry Point Class
程序的入口類。如果您的JAR包未指定主類,請在此處輸入您的Entry Point Class類的標準路徑。
Entry Point Main Arguments
填寫傳入參數信息,在主方法中調用該參數。
Additional Dependencies
填寫目標附加依賴文件的OSS路徑或者URL,目前僅支持以文件名結尾的URL。
您需確認已在Flink開發控制臺資源管理中或綁定的OSS Bucket中上傳相關依賴文件,并獲取對應路徑。
Description
可選,填寫備注信息。
參數配置詳情請參見部署Python作業。
參數
說明
Deployment Name
作業名稱。
Execution Mode
部署模式,支持流模式(STREAM)和批模式(BATCH)。
Engine Version
引擎版本,詳情請參見引擎版本介紹。建議您使用推薦版本。
Deployment Target
部署目標,選擇部署的目標資源隊列,詳情請參見管理資源隊列。
Deployment Type
部署作業類型,選擇為Python。
Python Uri
Python作業文件地址,可以為.py文件或者.zip文件。
Entry Module
程序的入口類。
如果Python作業文件為.py文件,則該項不需要填寫。
如果Python作業文件為.zip文件,則需要在此處輸入您的Entry Module。
Entry Point Main Arguments
填寫傳入參數信息,在主方法里面調用該參數。
Python Libraries
第三方Python包。第三方Python包會被添加到Python worker進程的PYTHONPATH中,從而在Python自定義函數中可以直接訪問。如何使用第三方Python包,詳情請參見使用第三方Python包。
Python Archives
存檔文件,詳情請參見使用自定義的Python虛擬環境和使用數據文件。
Additional Dependencies
填寫目標附加依賴文件的OSS路徑或URL。
您需確認已在Flink開發控制臺資源管理中或綁定的OSS Bucket中上傳相關依賴文件,并獲取對應路徑。
Description
可選,填寫備注信息。
Resources:作業資源參數說明詳情請參見配置作業資源。
Parameters:作業運行參數說明詳情請參見運行參數配置。
步驟三:部署作業
開發或配置完成后,對于新建的作業,單擊底部的Create部署作業;對于本地已有作業,單擊底部的Update更新并部署作業。
對于SQL作業,插件將對作業的SQL Script、資源計劃(Resource Plan)以及其它配置進行校驗,并輸出校驗結果。
步驟四:作業啟動
對于已部署的作業,右上角會顯示作業的最新狀態。您可以單擊Start并選擇啟動狀態,啟動狀態詳情請參見作業啟動。
步驟五:作業運維
Open Online:如果您需要查看作業詳細的運行狀況或進行運維操作,可單擊左上的Open Online,直接跳轉到Flink開發控制臺的運維界面。
Synchronize:支持快速從線上同步作業。您可以單擊Synchronize進入線上作業預覽界面(預覽界面暫無法查看在控制臺進行的SQL作業的草稿更新),確認無誤后可點擊右上角
Accept
按鈕,插件會將線上作業覆寫到本地作業文件中。Cancel:停止作業。
相關文檔
支持的連接器,詳情請參見支持的連接器。
關于Flink JAR作業的開發方法和調試方法,詳情請參見JAR作業開發。
關于Flink Python作業的開發方法和調試方法,詳情請參見Python作業開發。
如果您想提升Flink SQL作業的性能,請參見高性能Flink SQL優化技巧。