由于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_dis