阿里巴巴大数据 —玩家社区 关注
手机版

Python on MaxCompute之UDF操作命令行

  1. 云栖社区>
  2. 阿里巴巴大数据 —玩家社区>
  3. 博客>
  4. 正文

Python on MaxCompute之UDF操作命令行

隐林 2017-12-21 11:46:48 浏览1016 评论0

摘要: 语法: add py [comment 'cmt'][-f]; 说明:local_file.py:.py文件 注册函数 语法: CREATE FUNCTION AS USING ; 说明: function_name:UDF函数名,这个名字就是SQL中引用该函数所使用的名字。

添加函数

语法:

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下的所有自定义函数


用云栖社区APP,舒服~

【云栖快讯】云栖社区技术交流群汇总,阿里巴巴技术专家及云栖社区专家等你加入互动,老铁,了解一下?  详情请点击

网友评论