離線計算函數(shù)用于管理離線計算任務代碼開發(fā)過程中用到的SQL函數(shù),包括計算引擎源常用且系統(tǒng)默認支持的函數(shù)和用戶自定義函數(shù),前者不支持編輯操作。本文為您介紹如何新建用戶自定義函數(shù)。
前提條件
完成資源的創(chuàng)建,詳情請參見創(chuàng)建資源。
背景信息
Dataphin系統(tǒng)根據(jù)函數(shù)類型定義了函數(shù)的目錄,幫助您更好地管理函數(shù)。
操作步驟
在Dataphin首頁,單擊頂部菜單欄的研發(fā)。
在數(shù)據(jù)開發(fā)頁面,按照下圖操作指引,進入新建函數(shù)對話框。
系統(tǒng)支持新建的函數(shù)類型,根據(jù)Dataphin系統(tǒng)的計算引擎不同而不同:
如果Dataphin系統(tǒng)的計算引擎為MaxCompute,則系統(tǒng)支持選擇MAXC函數(shù)或FLINK函數(shù)。
說明當前項目如果綁定的為MaxCompute外部項目,則不支持創(chuàng)建自定義函數(shù)。
在含有實時引擎的項目下,支持實時相關功能,僅支持增加創(chuàng)建新的Flink函數(shù)。
在新建函數(shù)對話框,配置參數(shù)。
參數(shù)
描述
名稱
填寫名稱。名稱由字母,數(shù)字,下劃線(_)組合組成,且首字符僅限字母。
選擇資源
選擇資源文件。下拉列表中提供的是匹配當前項目的資源名稱。
說明當前,僅支持選擇PYTHON、JAR格式的文件進行定義函數(shù)。
選擇多個資源時,僅限選擇同一種資源類型。
如果您還沒有資源,則需創(chuàng)建資源。具體操作,請參見創(chuàng)建資源。
類名
填寫類名。針對計算類型中的資源,提取資源中類的內容,例如
test_udf.UDFGETSrcId
。類型
選擇類型,下拉列表中可供選擇的類型包含窗口、統(tǒng)計、數(shù)值、字符串、時間、ip地址相關函數(shù)、URL、編譯碼、業(yè)務、其他。
命令格式
填寫命令格式。命令格式即函數(shù)引用格式,例如:
bigintweekday (datetime date)
。使用文檔
填寫函數(shù)使用描述,例如:
select get_week_date("20170810",0,2),--獲取8月10日,本周周二日期。 from cndata.dual
選擇目錄
系統(tǒng)默認為當前函數(shù)類型的目錄。如果您需要修改,則系統(tǒng)僅支持修改該函數(shù)類型目錄下的子目錄。
例如,您新建的是MAXC函數(shù),則系統(tǒng)自動為您選中MAXC函數(shù)為目錄。如果您需要修改目錄, 則系統(tǒng)僅支持選擇MAXC函數(shù)目錄下的子目錄。
按照下圖操作指引,提交用戶自定義函數(shù)。
說明如果自定義函數(shù)引用的資源有更新,則需重新提交自定義函數(shù),這樣注冊至MaxCompute或AnalyticDB for PostgreSQL的自定義函數(shù)才會更新。
您可以通過即席查詢(請參見查詢并下載數(shù)據(jù)),編寫SQL代碼(SQL代碼中引用該函數(shù))驗證函數(shù)是否符合預期效果。SQL查詢語句示例如下。
select get_week_date("20170810",0,2),--獲取8月10日本周周二日期。 from cndata.dual
如果項目的模式為Dev-Prod,則您需要發(fā)布資源至生產環(huán)境。具體操作,請參見發(fā)布任務。