按项目日益增长的gis数据量要求,需要在大数据集群中部署HIVE的扩展函数。
Apache Hive是一个建立在Hadoop架构之上的数据仓库。它能够提供数据的精炼,查询和分析。([引用自维基百科) HIVE允许用户使用UDF(user defined function)对数据进行处理。我们用到的是。下载完源码,修改最外层的pom.xml,修改hadoop、hive、java版本为生产环境中版本,重新编译项出spatial-sdk-json-2.1.0.jar和spatial-sdk-hive-2.1.0.jar。复制代码 hadoop-2.7 2.7.3
复制代码 hive-1.2 1.2.1
1.8 1.8 2.7.3 1.2.1 复制代码
下载最新的中的esri-geometry-api-2.2.1.jar,上传三个jar到linux系统(jar权限设置成最高),在hive的shell控制台输入添加jar和创建函数语句。
add jar /usr/hdp/2.6.4.0-91/hive/auxlib/esri-geometry-api-2.2.1.jar;add jar /usr/hdp/2.6.4.0-91/hive/auxlib/spatial-sdk-json-2.1.0.jar;add jar /usr/hdp/2.6.4.0-91/hive/auxlib/spatial-sdk-hive-2.1.0.jar;CREATE TEMPORARY FUNCTION STPoint as 'com.esri.hadoop.hive.ST_Point';复制代码自定义函数使用可以参考官方文档 ,创建自定义函数可以参考spatial-framework-for-hadoop项目的hive下function-ddl.sql,但创建永久函数需要去掉temporary。