hive中如何定义自己的函数
写一个Java 程序,实现想要的函数功能
1.导入hive安装目录的lib目录的包
2新建一个类继承 UDF类
3.重载父类中evaluate方法;
4.写下自己的逻辑
package test;
import org.apache.hadoop.hive.ql.exec.UDF;
import net.sf.json.JSONObject;
public class Test03 extends UDF{
public String evaluate (String jstr , String key) {
return JSONObject.fromObject(jstr).getString(key);
}
}
把java命令打成jar包,上传到hive所在的机器
得到一个“路径 ”
在hive命令行中将jar包添加到classpath
add jar "路径"
在hive命令中写命令创建一个自定义函数 关联你所写的这个类
create temporaty funciton myjson as '包名.类名';