HIVE扩展GIS函数

    按项目日益增加的gis数据量要求,须要在大数据集群中部署HIVE的扩展函数。
    Apache Hive是一个创建在Hadoop架构之上的数据仓库。它可以提供数据的精炼,查询和分析。([引用自维基百科hive描述)
    HIVE容许用户使用UDF(user defined function)对数据进行处理。咱们用到的是spatial-framework-for-hadoop。下载完源码,修改最外层的pom.xml,修改hadoop、hive、java版本为生产环境中版本,从新编译项出spatial-sdk-json-2.1.0.jar和spatial-sdk-hive-2.1.0.jar。java

<profile>
      <id>hadoop-2.7</id>
      <properties>
        <hadoop.version>2.7.3</hadoop.version>
      </properties>
</profile>
复制代码
<profile>
      <id>hive-1.2</id>
      <properties>
        <hive.version>1.2.1</hive.version>
      </properties>
 </profile>
复制代码
<java.source.version>1.8</java.source.version>
<java.target.version>1.8</java.target.version>
<hadoop.version>2.7.3</hadoop.version>
<hive.version>1.2.1</hive.version>
复制代码

    下载最新的esri-geometry-java中的esri-geometry-api-2.2.1.jar,上传三个jar到linux系统(jar权限设置成最高),在hive的shell控制台输入添加jar和建立函数语句。linux

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';
复制代码

测试经过
    自定义函数使用能够参考官方文档 UDF文档,建立自定义函数能够参考spatial-framework-for-hadoop项目的hive下function-ddl.sql,但建立永久函数须要去掉temporary。
相关文章
相关标签/搜索