使用Esri Geometry与Hive进行ST_Point查询,FAILED

时间:2018-04-25 09:27:33

标签: postgresql hive postgis user-defined-functions esri

当我这样做时

Select ST_Point(25,45) 
在PostgresQL中我得到以下内容:

010100000000000000000039400000000000804640 

无论何时我在Hive中做同样的事情,我都会得到这个:

enter image description here

如果那是我唯一不会介意的问题,但是当我这样做时

Select ST_Azimuth(ST_Point(25,45) , ST_Point(75,100)) 

我收到此错误:

失败:SemanticException [错误10014]:第1行:7错误的参数'100':类ST_Azimuth没有匹配的方法(二进制,二进制)。

1 个答案:

答案 0 :(得分:1)

我假设你引用了Esri/spatial-framework-for-hadoop提供的Hive空间UDF?

  1. Hive中没有几何类型,因此空间UDF返回几何的二进制表示。正如@JimJones评论的那样,您可以使用ST_AsText(geom)将几何图形格式化为WKT。
  2. 请使用one of the Hive spatial UDFs作为您正在开发的custom ST_Azimuth UDF的参考。