2017-02-22 27 views
0

Следующий синтаксис из более крупного запроса Vertica (postgreSQL). Можно ли преобразовать этот синтаксис в Hive? Операторы согласованы. Если да, то как?Преобразование синтаксиса Cast из PostgreSQL в Hive

Текущая ошибка: FAILED: 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 

ответ