概述
由于Hive内置的函数不能满足业务需求,我们可以利用Java编写自定义函数.以下为我自己编写的一个例子:
背景:给定一个经纬度,圈出以此坐标为圆心一定距离内的基站编码
1、示例:
(1)必须导入两个jar包:
如下图中绿色方框中的jar包,在网上可下载到
(2)创建类必须继承UDF类
(3)类必须重写evaluate方法
方法可以重载,根据自己的需求编写自己的方法
(4)写好之后测试无误,打包成jar包,命名liujh _distance.jar
2、将打包好的JAR包导入主机目录下
例如添加到 /data1/aaaa/test/shell 路径下
(1)在hive中添加包
hive> add jar /data1/aaaa/test/shell /liujh_distance.jar;
Added /data1/aaaa/test/shell /liujh_distance.jar to class path
(2)在hive中创建函数
hive> create temporary function liujh_distanceas ‘udffunc.LiujhUdfFunc’;
OK
Time taken: 0.407 seconds
Liujh_distance是自己的函数名称,这个是自己定义的
udffunc.LiujhUdfFunc是函数在jar包中的路径 包名.类名 的方式
(3)查看函数
show functions like ‘%liujh_distance%’
(4)使用函数
hive> select liujh_distance(120.0001,30.001,120.110,30.110)from dual;
>150.87
(5)删除函数
Drop temporary function liujh_distance
最后
以上就是顺利服饰为你收集整理的hive创建自定义函数的全部内容,希望文章能够帮你解决hive创建自定义函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复