您的位置:首页 > 其它

Hive的自定义函数

2017-10-05 22:29 239 查看

Hive的自定义函数(UDF: user defined function)

本质就是一个Java程序,封装我们的业务逻辑


实现

package demo.udf;

import org.apache.hadoop.hive.ql.exec.UDF;

public class MyConcat extends UDF {
//从写一个evaluate
public String evaluate(String param1,String param2) {
//在这里书写业务逻辑
return param1+"***这是自己实现的自定义函数方法***"+param2;
}
}


需要从一个UDF继承,然后从写一个 evaluate方法,方法名必须为evaluate ,参数位 就是你在调用自定义函数的时候 要传入的值。写好方法之后 将package 打包成jar 包

打包完成之后将该jar 包 上传到服务器上,在hive的命令提示符下加入classpath中


hive> add jar <filepath>/<jar name>;


然后,在hive的命令提示符下,创建一个别名(临时函数)来代表我们的自定义函数


hive> create temporary function <function name> as 'jar path '
hive> create temporary function myconcat as 'demo.udf.MyConcat'


然后在hive中使用自己的自定义函数,得到的结果


SMITH***这是自己实现的自定义函数方法***CLERK
ALLEN***这是自己实现的自定义函数方法***SALESMAN
WARD***这是自己实现的自定义函数方法***SALESMAN
JONES***这是自己实现的自定义函数方法***MANAGER
MARTIN***这是自己实现的自定义函数方法***SALESMAN
BLAKE***这是自己实现的自定义函数方法***MANAGER
CLARK***这是自己实现的自定义函数方法***MANAGER
SCOTT***这是自己实现的自定义函数方法***ANALYST
KING***这是自己实现的自定义函数方法***PRESIDENT
TURNER***这是自己实现的自定义函数方法***SALESMAN
ADAMS***这是自己实现的自定义函数方法***CLERK
JAMES***这是自己实现的自定义函数方法***CLERK
FORD***这是自己实现的自定义函数方法***ANALYST
MILLER***这是自己实现的自定义函数方法***CLERK
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: