全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
MaxCompute

函数操作

更新时间:2017-09-26 00:26:29

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

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

注册函数

命令格式如下:

  1. CREATE FUNCTION <function_name> AS <package_to_class> USING <resource_list>;

参数说明:

  • 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,如下所示:

  1. CREATE FUNCTION test_lower AS 'org.alidata.odps.udf.examples.Lower'
  2. USING 'my_lower.jar';

注意:

  • 与资源文件一样,同名函数只能注册一次。

  • 一般情况下,您的自建函数无法覆盖系统内建函数。只有项目空间的 Owner 才有权利覆盖内建函数。如果您使用了覆盖内建函数的自定义函数,在 SQL 执行结束后,会在 Summary 中打印出 warning 信息。

注销函数

命令格式如下:

  1. DROP FUNCTION <function_name>;

示例如下:

  1. DROP FUNCTION test_lower;

查看函数清单

命令格式如下:

  1. list functions; --查看当前项目空间中的所有的自定义函数
  2. ls functions -p my_project; --查看指定项目空间 my_project 下的所有自定义函数
本文导读目录