您的位置:首页 > 财经 > 金融 > 深圳市品牌策划公司_重庆今天的新消息_百度竞价关键词价格查询_北京seo做排名

深圳市品牌策划公司_重庆今天的新消息_百度竞价关键词价格查询_北京seo做排名

2025/1/16 7:54:06 来源:https://blog.csdn.net/ABU009/article/details/143445724  浏览:    关键词:深圳市品牌策划公司_重庆今天的新消息_百度竞价关键词价格查询_北京seo做排名
深圳市品牌策划公司_重庆今天的新消息_百度竞价关键词价格查询_北京seo做排名

用java代码编写,继承UDF类即可

然后打包,导入hive中,再创建个函数名就能使用

hive: add jar '/路径/xxx.jar';
hive: create function 函数名 as '主类名';

以下用计算地球间两点的距离的为例

import org.apache.hadoop.hive.ql.exec.UDF;public class CalculateLength extends UDF {/*** 地球半径*/private static final double EARTH_RADIUS = 6378137;/*** 计算两个经纬度之间的距离** @param longi1 经度1* @param lati1  纬度1* @param longi2 经度2* @param lati2  纬度2* @return 距离*/public double evaluate(double longi1, double lati1, double longi2, double lati2) {double lat21 = lati1 * Math.PI / 180.0;double lat22 = lati2 * Math.PI / 180.0;double a = lat21 - lat22;double b = (longi1 - longi2) * Math.PI / 180.0;double sa2 = Math.sin(a / 2.0);double sb2 = Math.sin(b / 2.0);double d = 2 * EARTH_RADIUS * Math.asin(Math.sqrt(sa2 * sa2 + Math.cos(lat21) * Math.cos(lat22) * sb2 * sb2));return Math.abs(d);}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com