Data Studio支援可視化建立並管理Flink Jar、Flink File和Flink Python資源,建立的資源可用於建立自訂函數或在資料開發中使用。本文將介紹如何通過資源管理來建立Flink不同類型的資源和函數。
前提條件
已綁定全託管Flink計算資源,建立資源與函數均基於Flink計算資源進行相關操作。
已完成資源檔的開發,檔案可從本地上傳。
建立並使用資源
資源說明
在Data Studio資源與函數管理中,可以將本地資源通過DataWorks上傳到Flink,用於在DataWorks中開發Flink作業,或用來建立Flink自訂函數。
使用限制
上傳資源需符合以下限制:
-
資源大小:
-
線上編輯:Python類型最大支援10MB;File類型最大支援500KB。
-
上傳本地檔案:最大支援上傳500MB的資源。
-
上傳OSS檔案:最大支援上傳500MB的資源。
-
資源發布:若您使用的是標準模式的工作空間,則需將資源發布至生產環境方可生效。
說明開發環境和生產環境的資料來源資訊可能存在差異,查詢對應環境的表、資源等操作前,請先確認相應環境的資料來源資訊。
資源管理:DataWorks僅支援查看與管理通過DataWorks上傳的資源。
建立資源
Flink資源支援本地上傳,建立好的資源可直接在資料開發中引用,也可以建立為函數使用。Flink資源套件含以下類型:
Flink Jar:編譯好的Java JAR包,尾碼為
.jar,用於運行Java程式或建立自訂函數。Flink File:支援將任意類型檔案上傳至Flink,可用於Flink JAR和Flink Python節點的附加依賴檔案、Python Libraries、Python Archives等。
Flink Python:支援上傳
.py格式的Python檔案至Flink,用於Flink Python節點的開發。如需上傳.zip格式的檔案,請使用Flink File資源上傳,同樣可以在Python作業中作為主作業入口。
在資源管理頁面,建立資源開啟建立資源和函數彈窗時,配置資源的類型、儲存的路径以及資源名稱。
完成建立資源後,需要在資源內上傳本地檔案,作為檔案來源。
在上方工具列對資源保存並發布,只有發布後的資源才能在資料開發中使用。
使用資源
完成資源建立後,在進行資料開發時,在編輯資料開發節點時,在左側導覽列單擊資源管理,然後找到目標資源或函數後,右鍵選擇引用資源。引用資源成功後,會顯示--@resource_reference{"資源名稱"}格式的代碼。
例如,Flink SQL Streaming節點顯示的樣式為--@resource_reference{"example.jar"}。各類型節點顯示格式存在差異,請以實際介面為準。
除了直接使用資源外,還可將資源建立為函數,再在開發節點中使用。
建立並使用函數
函數說明
在Data Studio資源與函數管理中,支援將資源註冊為函數。在資料開發中,您可以使用Flink提供的內建函數和Flink自訂函數。
建立函數
-
在資源管理頁面,建立函數開啟建立資源和函數彈窗時,配置下拉配置函數的類型、儲存的路径以及函數名稱。
單擊確認,建立函數資源,並根據函數類型,配置函數的相關資訊。
配置Flink函數前,需確保已將Flink叢集在DataWorks內建立為計算資源,並已上傳建立Flink資源,以下為Flink函數參數說明。
參數
描述
函数类型
選擇函數類型,包括MATH(數學運算函數)、AGGREGATE(彙總函式)、STRING(字串處理函數)、DATE(日期函數)、ANALYTIC(視窗函數)和OTHER(其他函數)。
Flink 集群
下拉選擇登入的Flink叢集。
资源列表
Flink函數配置時,僅支援通過可視化介面操作,下拉選擇Flink Jar資源。
命令格式
該UDF的具體使用方法樣本。
在上方工具列對函數保存並發布,只有發布後的函數才能在資料開發中使用。
使用函數
函數建立完成並發布後,在編輯資料開發節點時,在左側導覽列單擊資源管理,然後找到目標資源或函數後,右鍵選擇引用函數。在當前節點編輯頁面快速產生自訂函數名稱,例如:example_function()。
管理資源與函數
通過Data Studio可視化方式上傳的資源或建立函數後,在資源管理頁面,可通過單擊目標資源或函數,對資源或函數進行管理。
-
查看歷史版本:單擊資源或函數編輯頁面右側的版本按鈕,您可查看、對比已儲存或已提交的函數版本,擷取不同版本的資源變更情況。
說明版本對比時,至少需選擇兩個版本進行比對。
-
刪除資源或函數:滑鼠右鍵單擊目標資源或函數,選擇刪除按鈕,刪除資源或函數。
若需刪除生產環境下該資源或函數,則需進行任務發布,將資源刪除操作發布至生產環境,發布成功後,生產環境該資源函數才會同步刪除。