本文将为您介绍如何通过客户端使用常用命令对函数进行操作。

您如果想对函数进行操作,既可以通过客户端使用常用命令进行相关操作,也可以通过DataWorks中可视化的在线数据开发工具对资源进行新建、搜索等操作,详情请参见文件目录 中的函数管模块。

注册函数

命令格式如下:
CREATE FUNCTION  AS  USING ;
参数说明:
  • function_name:UDF函数名,这个名字就是SQL中引用该函数所使用的名字。
  • package_to_class:如果是Java UDF,这个名字就是从顶层包名一直到实现UDF类名的fully qualified class name,且必须使用引号。
  • resource_list:UDF所用到的资源列表。
    • 此资源列表必须包括UDF代码所在的资源。
    • 如果您的代码中通过distributed cache接口读取资源文件,此列表中还要包括UDF所读取的资源文件列表。
    • 资源列表由多个资源名组成,资源名之间由逗号分隔,且资源列表必须用引号引起来。

示例如下:

假设Java UDF类org.alidata.odps.udf.examples.Lower在my_lower.jar中,创建函数my_lower,如下所示:
CREATE FUNCTION test_lower AS 'org.alidata.odps.udf.examples.Lower' USING 'my_lower.jar';
说明
  • 与资源文件一样,同名函数只能注册一次。
  • 一般情况下,您的自建函数无法覆盖系统内建函数。只有项目空间的Owner才有权利覆盖内建函数。如果您使用了覆盖内建函数的自定义函数,在SQL执行结束后,会在Summary中打印出warning信息。

注销函数

命令格式如下:
DROP FUNCTION ;
示例如下:
DROP FUNCTION test_lower;

查看函数清单

命令格式如下:
list functions;     --查看当前项目空间中的所有的自定义函数
ls functions -p my_project;      --查看指定项目空间 my_project 下的所有自定义函数