全部產品
Search
文件中心

DataWorks:EMR資源與函數

更新時間:Jan 15, 2026

Data Studio支援可視化建立並管理EMR Jar和File資源,建立的資源可用於建立自訂函數或在資料開發。本文將為您介紹如何建立並使用資源與函數。

準備工作

  • 綁定EMR計算資源綁定EMR Serverless Spark計算資源,建立資源與函數均基於EMR計算資源進行相關操作。

  • 已完成資源檔的開發,檔案可從本地上傳或從OSSObject Storage Service中擷取。當通過上傳OSS檔案方式建立資源時,需滿足以下條件。

    • 已開通OSS並建立Bucket,將待上傳檔案儲存體至OSS Bucket中。需從指定Bucket中選擇檔案,因此,使用該方式建立資源前需先建立Bucket上傳相關檔案

    • 已為操作上傳檔案的阿里雲帳號授予可訪問和寫入目標Bucket的許可權。為避免許可權限制,上傳檔案前需提前為相關操作帳號進行授權

進入資源管理

  1. 進入DataWorks工作空間列表頁,在頂部切換至目標地區,找到目標工作空間,單擊操作列的快速進入 > Data Studio,進入Data Studio。

  2. 在左側導覽列單擊資源管理按鈕image,進入資源管理頁面。

  3. 資源管理頁面,單擊image按鈕進行建立資源或函數。您也可以先建立目錄,規劃資源管理目錄後,再在相應目錄上右鍵,選擇建立,選擇需要建立的資源或函數類型。

建立並使用資源

資源說明

在Data Studio資源與函數管理中,支援建立的資源如下表所示,您可將建立的資源儲存在OSS或HDFS內,並在資料開發和建立自訂函數中使用這些資源。

重要

通過上傳EMR資源儲存在OSS時,以及使用儲存在OSS中的EMR資源時會產生OSSObject Storage Service的基礎費用

資源類型

描述

支援的上傳方式

本地

OSS

EMR File

支援將任意類型檔案上傳為File資源,實際使用時請以各引擎支援情況為準。

image

image

EMR Jar

編譯好的Java JAR包,用於運行Java程式。尾碼為.jar

使用限制

上傳資源需符合以下限制:

  • 資源大小

  • 資源發布:若您使用的是標準模式的工作空間,則需將資源發布至生產環境方可生效。

    說明

    開發環境和生產環境的資料來源資訊存在差異,查詢對應環境的表、資源等操作前,請先確認相應環境的資料來源資訊。

  • 資源管理:DataWorks僅支援查看與管理通過DataWorks上傳的資源。

建立資源

EMR資源支援本地上傳和OSS上傳,建立好的該資源可直接在資料開發中引用,也可以建立為函數使用。

  1. 在資源管理頁面,建立資源開啟建立資源和函數彈窗時,配置資源的類型、儲存的路徑以及資源名稱

  2. 建立資源完成後,需要在資源內上傳OSSObject Storage Service或本地檔案,作為檔案來源,以下為上傳資源的時的關鍵參數:

    配置項

    配置說明

    檔案來源

    目標檔案的來源,包括本地OSS兩種來源。

    檔案內容

    • 如果您選擇本地,在上傳檔案中單擊點擊上傳即可上傳本地檔案。

    • 如果您選擇OSS,在選擇檔案下拉框中選擇OSS檔案。

    儲存路徑

    為該資源選擇儲存的路徑,包括OSSHDFS兩種儲存類型:

    • 如果您選擇OSS,需要先授權再選擇目錄的位置。

      說明

      需要主帳號在此處進行授權操作。

    • 如果您選擇HDFS,需要手動輸入儲存路徑。

      例如:/user/admin/[具體路徑]

    說明

    目前您的任務JAR包僅支援如下兩種存放路徑:

    • JAR包存放在EMR叢集的Master機器中。

    • JAR包存放在Object Storage Service服務(Object Storage ServiceOSS)中。推薦您使用OSS進行存放,使用OSS存放JAR包

    資料來源

    選擇上傳的EMR資源所屬的資料來源。

    資源群組

    選擇與EMR資料來源連通性正常的Serverless資源群組

  3. 在上方工具列對資源儲存發布,只有發布後的資源才能在資料開發中使用。

    說明

    當使用Serverless資源群組提交資源時,DataWorks平台將下發對應建立資源的任務到引擎側執行,並列印執行過程的執行日誌,如果資源提交過程中出現問題,您可以通過日誌先自助排查。如果您目前無可用的Serverless資源群組,請新增Serverless資源群組

使用資源

完成資源建立後,在左側導覽列單擊資源管理,然後找到目標資源或函數後,右鍵選擇引用資源。引用資源成功後,會顯示##@resource_reference{"資源名稱"}格式的代碼。

說明

例如,EMR MR節點顯示的樣式為##@resource_reference{"example.jar"}。各類型節點顯示格式存在差異,請以實際介面為準。

除了直接使用資源外,還可以將資源建立為函數,再在開發節點中使用。

建立並使用函數

在建立函數之前,請確保已建立資源

函數說明

在Data Studio資源與函數管理中,支援將資源註冊為EMR函數。在資料開發或SQL查詢中,您可以使用Hive提供的內建函數建立的自訂函數

建立函數

  1. 在資源管理頁面,建立函數開啟建立資源和函數彈窗時,配置下拉配置函數的類型、儲存的路徑以及函數名稱

  2. 單擊確認,建立函數資源,並根據函數類型,配置函數的相關資訊。

    配置EMR函數前,需確保已將EMR叢集在DataWorks內註冊為了計算資源,並已上傳建立EMR資源,以下為EMR函數關鍵配置說明。

    參數

    描述

    函數類型

    選擇函數類型,包括MATH(數學運算函數)、AGGREGATE(彙總函式)、STRING(字串處理函數)、DATE(日期函數)、ANALYTIC(視窗函數)和OTHER(其他函數)。

    資料來源

    選擇需要註冊EMR函數的資料來源。

    EMR資料庫

    需要註冊函數的EMR資料庫。

    資源群組

    選擇與EMR資料來源連通性正常的Serverless資源群組

    類名

    UDF函數的類名,格式為資源名.類名,需與JAR包中的實際類完全符合。

    當資源類型為JAR時,配置的類名格式為Java包名稱.實際類名,您可以在IntelliJ IDEA中通過Copy Reference語句擷取。

    例如,com.aliyun.emr.examples.udf為Java包的名稱,UDAFExample為實際類名,則類名參數配置為com.aliyun.emr.examples.udf.UDAFExample

    資源清單

    從下拉式清單中選擇本工作空間中已添加的資源,必填。

  3. 在上方工具列對函數儲存發布,只有發布後的函數才能在資料開發中使用。

使用函數

函數建立完成並發布後,在資料開發或SQL查詢中,可直接引用建立的函數。

  • 在編輯資料開發節點時,在左側導覽列單擊資源管理,然後找到目標資源或函數後,右鍵選擇引用函數

    引用函數成功後,在當前節點編輯頁面快速產生自訂函數名稱,例如:example_function()

  • 在編輯SQL查詢時,可直接使用已建立的函數。

SELECT example_function(column_name) FROM table;

管理資源與函數

通過Data Studio可視化方式上傳的資源或建立函數後,在資源管理頁面,可通過單擊目標資源或函數,對資源或函數進行管理。

  • 查看歷史版本:單擊資源或函數編輯頁面右側的版本按鈕,您可查看、對比已儲存或已提交的函數版本,擷取不同版本的資源變更情況。

    說明

    版本對比時,至少需選擇兩個版本進行比對。

  • 刪除資源或函數:滑鼠右鍵單擊目標資源或函數,選擇刪除按鈕,刪除資源或函數。

    若需刪除生產環境下該資源或函數,則需進行任務發布,將資源刪除操作發布至生產環境,發布成功後,生產環境該資源函數才會同步刪除。