【甘道夫】Hive扩展GIS函数

阶段一:编译函数包
基于 https://github.com/Esri/spatial-framework-for-hadoop 项目编译产出两个jar包:
spatial-sdk-hive-2.1.1-SNAPSHOT.jar
spatial-sdk-json-2.1.1-SNAPSHOT.jar
在maven本地仓库中找出jar包 esri-geometry-api-2.2.0.jar

注意:
1.编译过程记得修改maven中hadoop、hive、java的版本为真实版本号。
2.阿里的maven代理真的很好用:

    alimaven
    aliyun maven
    http://maven.aliyun.com/nexus/content/groups/public/
    central

 

阶段二:注册HIVE函数,使用函数
将以上3个jar包上传到服务器,登录hive环境。
上传jar包:
hive > add jar /data/kingdomli/software/esri-geometry-api-2.2.0.jar;
hive > add jar /data/kingdomli/software/spatial-sdk-hive-2.1.1-SNAPSHOT.jar;
hive > add jar /data/kingdomli/software/spatial-sdk-json-2.1.1-SNAPSHOT.jar;

注册函数:
hive > CREATE TEMPORARY FUNCTION ST_Point as 'com.esri.hadoop.hive.ST_Point';
hive > CREATE TEMPORARY FUNCTION ST_Distance as 'com.esri.hadoop.hive.ST_Distance';

使用函数:
hive > SELECT ST_Distance(STPoint(0.0,0.0), STPoint(3.0,4.0));

更多函数使用方法参考官方文档:
https://github.com/Esri/spatial-framework-for-hadoop/wiki/UDF-Documentation

你可能感兴趣的:(HIVE,地理信息挖掘)