举例:idea中自定义函数的编写
1.继承UDF函数
import org.apache.hadoop.hive.ql.exec.UDF
2.实现evaluate()方法
public class ParseScore extends UDF{
//老的接口UDF
//新的接口GenericUDF
//老的接口比较简答,只需要实现其中的evaluate方法即可
//调用函数的时候每一行的数据是通过参数传递进来的
public String evaluate(int score){
String ret=null;
if(score >=90) ret="A";
else if (score >=80) ret="B";
else if (score >=70) ret="C";
else if (score >=60) ret="D";
else ret="D";
return ret;
}
/*
需要打包上传到HDFS,在file中
*/
//新的接口GenericUDF
}
3.打包上传到HDFS中
选择到其中的mvn clean和mvn package
4.完成之后会生成1个jar包
5.把这个通过xftp或者华为官方软件传递到服务器中
6.再传递到hdfs中最后导入到hive中生成自己的函数
7.服务器上操作
hive中输入:
ADD JAR hdfs:///home/candle/data/hive_udf-1.0-SNAPSHOT-jar-with-dependencies.jar;
8.Hive创建临时函数
CREATE TEMPORARY FUNCTION myFunction(函数名) AS 'ParseScore'(包绝对路径)
9.show functions;
10.select myfunc(score) from windows;
即可完成本地至服务器端的操作