离线计算函数用于管理离线计算任务代码开发过程中用到的SQL函数,包括计算引擎源常用且系统默认支持的函数和用户自定义函数,前者不支持编辑操作。本文为您介绍如何新建用户自定义函数。
前提条件
完成资源的创建,详情请参见上传资源及引用。
背景信息
Dataphin系统根据函数类型定义了函数的目录,帮助您更好地管理函数。
不同计算引擎所支持创建的函数类型不同。
计算引擎类型
支持函数
离线引擎
MaxCompute
MAXC函数
Hologres
不支持自定义函数
实时引擎
Alibaba Blink
FLINK函数
Ververica Flink
FLINK函数
MaxCompute外部项目不支持创建自定义函数。
操作步骤
在Dataphin首页的顶部菜单栏中,选择研发 > 数据研发。
在顶部菜单栏选择项目(Dev-Prod模式需要选择环境)。
在左侧导航栏中选择数据处理 > 函数。
在右侧函数列表中单击
图标,选择目标类型函数。
在新建函数对话框中,配置以下参数。
参数
描述
名称
填写函数名称。名称支持英文、数字、下划线(_),且首字符必须为英文字母。
说明同一项目中,Impala函数和Hive函数的名称不得与该项目内任意目录中的自定义函数同名。
选择资源
选择资源文件。下拉列表中提供的是匹配当前项目的资源名称。
说明仅支持选择JAR格式的文件进行定义函数。
选择多个资源时,仅限选择同一种资源类型。
如果您还没有资源,则需创建资源。具体操作,请参见上传资源及引用。
类名
填写类名。针对计算类型中的资源,提取资源中类的内容,例如
test_udf.UDFGETSrcId
。类型
选择类型,下拉列表中可供选择的类型包含窗口、统计、数值、字符串、时间、ip地址相关函数、URL、编译码、业务、其他。
命令格式
填写命令格式。命令格式即函数引用格式,例如:
bigintweekday (datetime date)
。使用文档
填写函数使用描述,例如:
select get_week_date("20170810",0,2),--获取8月10日,本周周二日期。 from cndata.dual
选择目录
系统默认为当前函数类型的目录。如果您需要修改,则系统仅支持修改该函数类型目录下的子目录。
例如,您新建的是MAXC函数,则系统自动为您选中MAXC函数为目录。如果您需要修改目录, 则系统仅支持选择MAXC函数目录下的子目录。
信息配置完成后单击提交,在弹出的对话框中填写提交备注,完成后单击确认并提交。
说明如果自定义函数引用的资源有更新,则需重新提交自定义函数,这样注册至计算引擎的自定义函数才会更新。
提交成功后,相关引用任务自动引用新版对象,可能导致任务不可用,请及时检查。
您可以通过即席查询(请参见查询并下载数据),编写SQL代码(SQL代码中引用该函数)验证函数是否符合预期效果。SQL查询语句示例如下。
select get_week_date("20170810",0,2),--获取8月10日本周周二日期。 from cndata.dual