Hive FAILED: Parse Exception line 3:39 несоответствующий ввод - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь сделать запрос, который проверит, есть ли строка с зарплатой, которая на 10000 выше, чем зарплата для этого отдела , но когда я пытаюсь ее запустить, я получаю эту ошибку:

FAILED: строка ParseException 3:39 не соответствует входному сигналу 'SELECT' ожидающий) около '' '' в спецификации выражения

это запрос Im, использующий

set AVERAGES ='SELECT ROLE, AVG(AnnualSalary) From Salaries GROUP BY ROLE';


   SELECT ROLE, AVG(AnnualSalary) FROM Salaries 
   GROUP BY ROLE, AnnualSalary HAVING AnnualSalary > ('${hiveconf:AVERAGES}' + 10000);

1 Ответ

0 голосов
/ 08 декабря 2018

В настоящее время Hive не поддерживает сохранение результата запроса в переменную.

Вы можете использовать оконную функцию для достижения этой цели.

select * from 
    ( select *, 
            avg(AnnualSalary) over(partition by ROLE) role_avg 
            from 
                Salaries
    ) a 
where 
AnnualSalary > role_avg+10000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...