以下语法来自较大的vertica查询(PostgreSQL)。是否可以将此语法转换为蜂巢?操作员是一致的。如果是这样,如何?
当前错误是:失败:ParseException行22:19无法识别'|'附近的输入'cast'(在表达式规范中
ST_GeomFromText('POLYGON((' ||
CAST(TRUNC(request_lng / {{zoom_factor}},2) AS numeric) * {{zoom_factor}} + sign(request_lng)*(.01 * {{zoom_factor}})
|| ' ' ||
CAST(TRUNC(request_lat / ({{zoom_factor}} * {{stretch_factor}}),2) AS numeric) * ({{zoom_factor}}*{{stretch_factor}}) + sign(request_lat)*(.01 * {{zoom_factor}} * {{stretch_factor}})
|| ', ' ||
CAST(TRUNC(request_lng / {{zoom_factor}},2) AS numeric) * {{zoom_factor}} + sign(request_lng)*(.01 * {{zoom_factor}})
|| ' ' ||
CAST(TRUNC(request_lat / ({{zoom_factor}} * {{stretch_factor}}),2) AS numeric) * ({{zoom_factor}}*{{stretch_factor}})
|| ', ' ||
CAST(TRUNC(request_lng / {{zoom_factor}},2) AS numeric) * {{zoom_factor}}
|| ' ' ||
CAST(TRUNC(request_lat / ({{zoom_factor}} * {{stretch_factor}}),2) AS numeric) * ({{zoom_factor}}*{{stretch_factor}})
|| ', ' ||
CAST(TRUNC(request_lng / {{zoom_factor}},2) AS numeric) * {{zoom_factor}}
|| ' ' ||
CAST(TRUNC(request_lat / ({{zoom_factor}} * {{stretch_factor}}),2) AS numeric) * ({{zoom_factor}}*{{stretch_factor}}) + sign(request_lat)*(.01 * {{zoom_factor}} * {{stretch_factor}})
|| ', ' ||
CAST(TRUNC(request_lng / {{zoom_factor}},2) AS numeric) * {{zoom_factor}} + sign(request_lng)*(.01 * {{zoom_factor}})
|| ' ' ||
CAST(TRUNC(request_lat / ({{zoom_factor}} * {{stretch_factor}}),2) AS numeric) * ({{zoom_factor}}*{{stretch_factor}}) + sign(request_lat)*(.01 * {{zoom_factor}} * {{stretch_factor}})
||'))') as geography
此时,Hive不支持空间查询。
https://issues.apache.org/jira/browse/hive-5168https://cwiki.apache.org/confluence/display/hive/spatial Quericies(设计文档)