准备工作
创建MaxCompute Java Module:创建MaxCompute Java Module
创建自己的UDF
参考官方文档,在上面新创建的MaxCompute Java Module中,创建一个MaxCompute Java文件,实现如下的实例代码:
package my.udf;
import com.aliyun.odps.udf.UDF;
public class Lower extends UDF {
// TODO define parameters and return type, e.g: public String evaluate(String a, String b)
public String evaluate(String s) {
if (s == null ) {
return null;
}
return s.toLowerCase();
}
}
运行并调试UDF
以上即实现了一个UDF,下面进行调试UDF。调试UDF可以使用单元测试或者本地运行的方式对UDF进行调试。下面介绍版本地运行的方式:
在上面创建的Lower文件中,运行Lower:
会出现如下的运行配置窗口,在其中设置本地运行的项目空间:
其中,MaxCompute Project选择的是本地java module中自带的示例项目空间。MaxCompute table为示例项目空间中的一个数据表,Table columns为该数据表中的一个列名(需在该表中存在)。然后点击OK,即可运行。
这里也可以选择之前在阿里云中创建过的的项目空间以及其中的表进行运行:
如果需要修改UDF运行的项目空间,点击如下进行编辑:
发布UDF
使用如下的方式发布UDF到Resource:
在弹出的窗口中进行配置:
说明:上图中1处,不能修改,这里是该项目中编译创建的jar文件。需要自定义修改的为2和3处。
在Java Module中创建SQL Script文件,运行SQL:
运行结果如下:
自定义UDF的创建,调试和发布过程完成!!!
参考资料