添加函数
语法:
add py <local_file.py> [comment 'cmt'][-f];
local_file.py:.py文件
option:[-f] 强制更新
注册函数
语法:
CREATE FUNCTION <function_name> AS <package_to_class> USING <resource_list>;
说明:
- function_name:UDF函数名,这个名字就是SQL中引用该函数所使用的名字。
- package_to_class:python UDF,这个名字就是python脚本名.类名。这个名字必须用引号引起来。
- resource_list:UDF所用到的资源列表,这个里面必须包括UDF代码所在的资源。如果用户代码中通过distributed cache接口读取资源文件,这个列表中还得包括udf所读取的资源文件列表。资源列表由多个资源名组成,资源名之间由逗号(”,”)分隔。资源列表必须用引号引起来。若需指定资源所在的 project,写法为:
<project_name>/resources/<resource_name>
。 - 使用示例:创建函数my_lower:
假设Python UDF MyLower在项目空间test_project的脚本pyudf_test.py中,创建函数my_lower:
create function my_lower as 'pyudf_test.MyLower'
using 'test_project/resources/pyudf_test.py';
注解
- 与资源文件一样,同名函数只能注册一次。
- 一般情况下用户自建函数无法覆盖系统内建函数。只有项目空间的Owner才有权利覆盖内建函数。如果用户使用了覆盖内建函数的自定义函数,在SQL执行结束后,会在Summary中打印出warning信息。
注销函数
语法:
DROP FUNCTION <function_name>;
使用示例:
DROP FUNCTION my_lower;
查看函数清单
命令示例:
list functions; --查看当前项目空间中的所有的自定义函数
ls functions -p my_project; --查看指定项目空间my_project下的所有自定义函数