日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

新建用戶自定義函數

離線計算函數用于管理離線計算任務代碼開發過程中用到的SQL函數,包括計算引擎源常用且系統默認支持的函數和用戶自定義函數,前者不支持編輯操作。本文為您介紹如何新建用戶自定義函數。

前提條件

完成資源的創建,詳情請參見上傳資源及引用

背景信息

Dataphin系統根據函數類型定義了函數的目錄,幫助您更好地管理函數。

操作步驟

  1. 請參見數據開發入口,進入數據開發頁面。

  2. 按照下圖操作指引,進入新建函數對話框。

    image..png系統支持新建的函數類型,根據Dataphin系統的計算引擎不同而不同:

    計算引擎類型

    支持函數

    離線引擎

    MaxCompute

    MAXC函數

    Hologres

    不支持自定義函數

    Hadoop

    Hadoop函數(Hive函數)、Impala函數

    TDH Inceptor

    不支持自定義函數

    ADB for PostgreSQL

    ADB函數

    實時引擎

    Alibaba Blink

    FLINK函數

    Ververica Flink

    FLINK函數

    開源Flink

    FLINK函數

    說明

    當前項目如果綁定的為MaxCompute外部項目,則不支持創建自定義函數。

  3. 新建函數對話框,配置參數。

    參數

    描述

    名稱

    填寫名稱。名稱由字母,數字,下劃線(_)組合組成,且首字符僅限英文字母。

    選擇資源

    選擇資源文件。下拉列表中提供的是匹配當前項目的資源名稱。 

    說明
    • 當前,僅支持選擇PYTHON、JAR格式的文件進行定義函數。

    • 選擇多個資源時,僅限選擇同一種資源類型。

    • 如果您還沒有資源,則需創建資源。具體操作,請參見上傳資源及引用

    編程語言

    Impala支持C++Java定義的函數。若您需定義Impala函數,請根據您的資源類型選擇對應的編程語言。

    類名

    填寫類名。針對計算類型中的資源,提取資源中類的內容,例如test_udf.UDFGETSrcId

    類型

    選擇類型,下拉列表中可供選擇的類型包含窗口統計數值字符串時間ip地址相關函數URL編譯碼業務其他

    注冊函數

    若您需定義Impala函數且資源的編程語言為C++,請輸入創建Impala函數的語句。注冊函數需要滿足以下的語法,Location語句后端兼容使用資源文件進行替代。

    • 創建c++標量函數

      CREATE FUNCTION [IF NOT EXISTS] [db_name.]function_name([arg_type[, arg_type...])
        RETURNS return_type
        SYMBOL='symbol_name'
    • 創建C++聚合函數

      CREATE [AGGREGATE] FUNCTION [IF NOT EXISTS] [db_name.]function_name([arg_type[, arg_type...])
        RETURNS return_type
        [INTERMEDIATE type_spec]
        [INIT_FN='function']
        UPDATE_FN='function'
        MERGE_FN='function'
        [PREPARE_FN='function']
        [CLOSEFN='function']
        [SERIALIZE_FN='function']
        [FINALIZE_FN='function']

    更多信息,請參見用戶定義函數 (UDF)

    命令格式

    填寫命令格式。命令格式即函數引用格式,例如:bigintweekday (datetime date)

    使用文檔

    填寫函數使用描述,例如:

    select   
    get_week_date("20170810",0,2),--獲取8月10日,本周周二日期。
    from  cndata.dual

    選擇目錄

    系統默認為當前函數類型的目錄。如果您需要修改,則系統僅支持修改該函數類型目錄下的子目錄。

    例如,您新建的是MAXC函數,則系統自動為您選中MAXC函數為目錄。如果您需要修改目錄, 則系統僅支持選擇MAXC函數目錄下的子目錄。

  4. 按照下圖操作指引,提交用戶自定義函數。

    image..png

    說明
    • 如果自定義函數引用的資源有更新,則需重新提交自定義函數,這樣注冊至計算引擎的自定義函數才會更新。

    • 提交成功后,相關引用任務自動引用新版對象,可能導致任務不可用,請及時檢查。

    您可以通過即席查詢(請參見查詢并下載數據),編寫SQL代碼(SQL代碼中引用該函數)驗證函數是否符合預期效果。SQL查詢語句示例如下。 

    select   
    get_week_date("20170810",0,2),--獲取8月10日本周周二日期。
    from  cndata.dual

后續步驟

如果項目的模式為Dev-Prod,則您需要發布資源至生產環境。具體操作,請參見

管理發布任務

如果您的開發模式是Basic模式,則提交成功后,即可使用自定義的函數進行計算任務開發。更多信息,請參見數據開發概述