Пока я пытаюсь использовать Partition over Hive,

SELECT
    prc.user_key,
    percentile(P.price, 0.5) OVER (PARTITION BY P.user_key) as median_price       
    FROM
    (
     SELECT 
     vfc.user_key,
     vfc.order_id,
     MIN(vddo.cc)  price
     FROM
     td_b.mv_a vfc
     JOIN
     td_b.dim_deal_option vddo
     ON vfc.d_key = vddo.d_key
     WHERE
     vfc.action = 'sale'
     GROUP BY  vfc.user_key, vfc.order_id
    ) prc limit 100;

Выдает ошибку «FAILED: Ошибка синтаксического анализа: строка 4:13 не соответствует вводу '(' ожидание FROM рядом с 'OVER' в предложении from» в Hive. Когда я удаляю процентиль и запрос на разбиение работает нормально, есть идеи? Я пробовал count() вместо процентиля все та же ошибка.


person user2242666    schedule 27.09.2013    source источник
comment
Вы уверены, что у вас достаточно новая версия?   -  person lc.    schedule 27.09.2013


Ответы (2)


строка процентиля/раздела содержит псевдоним подзапроса «P» (P.price и P.user_key), но подзапрос — «prc». Иногда плохие псевдонимы вызывают эту ошибку

person spfister    schedule 09.10.2013

P.Price и P.user_key не существуют.

person MaHo    schedule 12.10.2016