為了滿足復雜的數據開發場景,Dataphin智能研發版支持自定義Java UDF函數。本教程以Java自帶函數(toLowerCase)為例,為您介紹如何基于Dataphin自定義Java UDF函數。

前提條件

下載JAR包

背景信息

本教程基于下載的JAR包自定義的Java UDF函數,實現大寫字母轉換為小寫字母。您也可以編寫Java UDF代碼,以實現更多的功能,請參見IntelliJ IDEA Java UDF開發最佳實踐

本教程中的JAR包的代碼如下。
package org.alidata.odps.udf.examples;
import com.aliyun.odps.udf.UDF;

public final class javaudf extends UDF {
  public String evaluate(String s) {
    if (s == null) {
        return null;
    }
        return s.toLowerCase();
  }
}
其中,
  • JAR包路徑為org.alidata.odps.udf.examples
  • class文件名為javaudf

步驟一:上傳JAR包

  1. 登錄Dataphin控制臺
  2. 在Dataphin控制臺頁面,選擇工作區地域后,單擊進入Dataphin>>
  3. 進入資源管理頁面。
    1. 在Dataphin首頁,單擊研發
    2. 在數據開發頁面,單擊數據處理
    3. 在左側導航欄,單擊資源管理資源管理圖標。
  4. 資源管理頁面,單擊資源管理后的圖標。
  5. 新建資源對話框中,配置參數。
    faga
    參數 描述
    類型 選擇jar
    名稱 上傳文件的名稱需要以文件類型結尾。例如javaudf.jar
    描述 填寫資源的描述。
    上傳文件 選擇本地JAR文件,例如javaudf.jar
    計算類型 選擇MaxCompute
    選擇目錄 選擇用于存放JAR包的目錄。系統默認為資源管理,保持默認即可。
  6. 單擊提交,完成資源的提交。
  7. 提交備注對話框,填寫備注信息。
  8. 單擊確定并提交
  9. 可選:發布資源至生產環境。
    • 如果您的開發模式是Dev-Prod模式,則需要發布資源至生產環境,詳情請參見管理發布任務
    • 如果您的開發模式是Basic模式,則提交成功的資源,即可進入生產環境。

步驟二:創建MAXC函數

  1. 數據處理頁簽,單擊左側導航欄的fagag函數管理圖標。
  2. 單擊函數管理后的圖標,選擇MAXC函數
  3. 新建函數對話框,配置參數。
    gegeg
    參數 描述
    名稱 填寫函數的名稱,例如java
    選擇資源 選擇已上傳的資源javaudf.jar
    類名 類名的格式為JAR包路徑.class文件名。填寫org.alidata.odps.udf.examples.javaudf
    類型 函數的類型。選擇字符串
    命令格式 定義引用函數的格式。填寫to_char(string i)
    使用文檔 填寫函數的使用描述,例如javaudf
    選擇目錄 默認為MAXC函數-用戶自定義函數,保持默認。
  4. 單擊提交,完成資源的提交。
  5. 提交備注對話框,填寫備注信息。
  6. 單擊確定并提交
  7. 可選:發布函數至生產環境。
    • 如果您的開發模式是Dev-Prod模式,則需要發布函數至生產環境,詳情請參見管理發布任務
    • 如果您的開發模式是Basic模式,則提交成功的函數,即可進入生產環境。

步驟三:新建SQL任務

  1. 數據處理頁簽,單擊左側導航欄agaga計算任務圖標。
  2. 計算任務頁面,單擊計算任務后的圖標,選擇MAXC任務 > MAX_COMPUTE_SQL
  3. 新建文件對話框,配置參數。
    參數 描述
    名稱 填寫計算任務的名稱,例如javaudf
    調度類型 選擇任務的調度類型為周期性節點
    描述 填寫對任務的簡單描述。
    選擇目錄 系統自動選擇為計算任務
  4. 單擊確定

步驟四:使用Java UDF函數

  1. 在SQL任務的代碼編寫頁面,編寫代碼,例如select java('ABCGDfagHH');
  2. 單擊頁面右上方的執行,查看運行結果。
    fagag

(可選)調度運維

如果需要定期的運行SQL任務,則需要配置SQL任務的調度參數并發布至生產環境,參與生產環境的調度。

  1. 在代碼編寫頁面,單擊頁面上方的調度配置,配置調度參數,詳情請參見調度配置
  2. 保存、提交和發布SQL任務。
    1. 單擊頁面右上方的圖標,保存代碼。
    2. 單擊頁面右上方的圖標,提交代碼。
    3. 提交備注對話框,填寫備注信息。
    4. 單擊確定并提交
    5. 可選:發布SQL任務至生產環境。
      • 如果開發模式是Dev-Prod模式,則需要發布SQL任務至生產環境,詳情請參見管理發布任務
      • 如果開發模式是Basic模式,則提交成功的SQL任務,即可進入生產環境。