537
阿裏雲
創建自定義函數__快速開始_大數據開發套件-阿裏雲
UDF全稱User Defined Function,即用戶自定義函數。ODPS提供了很多內建函數來滿足用戶的計算需求,同時用戶還可以通過創建自定義函數來滿足不同的計算需求。UDF在使用上與普通的內建函數類似。Java UDF即通過Java實現的自定義函數。
Java UDF在大數據平台中的總體使用流程包括本地準備調試Java代碼並編譯為jar包、在大數據平台IDE中創建資源並上傳jar包、在大數據平台IDE中新建注冊函數與jar資源關聯和UDF使用四大步驟,具體如下圖所示:
案例說明
實現一個字符小寫轉換功能的UDF。
step1:代碼編寫
請在您本地的Java環境(需安裝UDF開發插件)中按照ODPS UDF框架編寫Java代碼實現函數功能並進行編譯成jar包。
本實例的Java代碼如下,編譯後的jar包為my_lower.jar。
package test_UDF;
import com.aliyun.odps.udf.UDF;
public class test_UDF extends UDF {
public String evaluate(String s) {
if (s == null) { return null; }
return s.toLowerCase();
}
}
step2:添加jar資源
在運行UDF之前,必須指定引用的UDF代碼。用戶編寫的Java代碼通過資源的形式添加上傳到大數據平台中。而Java UDF必須被打成jar包,以jar包資源添加到平台,UDF框架會自動加載jar包,運行用戶自定義的UDF。
具體操作如下:
步驟1:以開發者身份進入阿裏雲數加平台>開發套件>管理控製台,左側導航“數據開發”項目列表中點擊對應項目操作欄中的數據開發。
步驟2:新建資源文件。在文件目錄樹文件夾上右鍵上傳資源,上傳資源。
步驟3:在資源上傳彈出框中填寫各配置項,並點擊提交。
提交成功則資源創建成功。
step3:注冊UDF函數
上述步驟已經完成Java UDF代碼的編寫和jar資源上傳,使得大數據平台有條件自動獲取用戶代碼並運行,但此時在大數據平台中仍無法使用這個UDF,因為平台中並沒有關於這個UDF的任何信息。因此需要用戶在平台中注冊一個唯一的函數名,並指定這個函數名與哪個資源的哪個函數對應。
具體操作如下:
步驟1:創建函數目錄。文件目錄樹切換到“函數管理”,新建目錄。
步驟2:在目錄文件夾上右鍵>新建函數,或者右邊工作區右上角 新建> 新建函數。
步驟3:在新建ODPS函數彈出框中填寫各配置項,並提交。
提交成功則函數創建成功。
step4:在ODPS SQL中試用函數
Java UDF的具體使用方法與平台中內建函數相同,具體操作如下:
步驟1:工作區右上角新建>>新建腳本文件,創建一個ODPS SQL腳本文件。
步驟2:在ODPS代碼編輯器中編寫ODPS SQL。示例代碼:
select test_lower('A') from dual;
步驟3:點擊運行。
到此我們已經完成了Java UDF的注冊並在SQL中進行了本地調用測試,若需每天調度執行字符小寫轉換任務,可在工作流中新建ODPS SQL節點來完成,並配置工作流的調度屬性。
最後更新:2016-11-24 11:23:48
上一篇:
創建數據同步任務__快速開始_大數據開發套件-阿裏雲
下一篇:
創建OPEN MR__快速開始_大數據開發套件-阿裏雲
GenerateDataKey__API 參考_密鑰管理服務-阿裏雲
二級域名設置解析方法__網站解析_產品使用問題_雲解析-阿裏雲
查詢路由器列表__路由器相關接口_API 參考_雲服務器 ECS-阿裏雲
使用ActionTrail記錄RAM操作__RAM操作記錄_用戶指南_訪問控製-阿裏雲
C-SDK使用(µC/OS)__SDK使用參考_設備端接入手冊_阿裏雲物聯網套件-阿裏雲
安全組使用FAQ__ECS常見問題_產品使用問題_雲服務器 ECS-阿裏雲
雲服務器 ECS 有兩種計費模式
異地容災__典型應用_產品簡介_雲數據庫 RDS 版-阿裏雲
創建堆棧失敗__常見問題_資源編排-阿裏雲
資源列表__RAM子用戶訪問_API-Reference_日誌服務-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲