Hive之用户自定义函数UDF获取系统当前时间与打印自己的名字:
获取系统当前时间:
package hive;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.hadoop.hive.ql.exec.UDF;
public class myprint extends UDF {
//实现一个构造方法,打印自己的名字
public String evaluate(String name){
return name;
}
public Date evaluate1() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return null;
}
打包UDF到虚拟机中
把鼠标移到项目下面下,单机鼠标右键,如图,点击export,打包
找到自己包包下到那里了,rz命令上传
rz /上传到虚拟机中
添加jar包路径:
add jar /自己rz上传上传到虚拟机上路径/导报的jar名字/
示例:add jar /hivedata/myadd.jar
创建函数
create temporary function 函数名 as '包名.类型';
示例:create temporary function myadd as 'udf.MyAdd'
查看是否成功创建函数:
show functions;
提供select查询和使用
示例:select myadd(1,2,3,4,5)
删除临时函数:
drop temporary function 函数名;