Ошибка при компиляции оператора: FAILED: ParseException строка 3: 0 отсутствует ALL в строке «select» near »« 5: 0 отсутствует ALL в строке «select» near » - PullRequest
0 голосов
/ 07 декабря 2018

Я выполняю следующий запрос в Impala

select count(id) from (select s_id as id, m_id from hur_e_s_amer
union
select s_id, m_id from hur_e_s_emea
union
select r_id, m_id from hur_e_r_amer
union
select r_id, m_id from hur_e_r_emea
) t1
join (select m_id, d_date from hur_e_c_amer
union
select m_id, d_date from hur_e_c_emea
where d_date between '2018-04-09 00:00:00.0' and '2018-06-08 23:59:59.9'
) t2
on t1.m_id = t2.m_id

, а затем получаю следующую ошибку

Ошибка при компиляции оператора: FAILED: ParseException строка 3: 0 отсутствуетВСЕ в строке 'select' near '' 5: 0 отсутствует ВСЕ в строке 'select' near ''

Странно то, что я уверен, что этот запрос раньше работал правильно, но теперь он, похоже, не хочетработать больше.

Есть идеи?

Ответы [ 2 ]

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

Эта проблема возникла из-за того, что я пытался запустить запрос в редакторе Hive, а не в Impala.

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

По какой-то причине я не могу повторить ошибку.Скорее всего, потому что мы не используем версию Impala (было бы всегда полезно добавить ее для такого рода квестов).Мое лучшее предположение состоит в том, что вы не добавляете псевдонимы к столбцам во время запроса, чтобы соответствовать схемам между выборами.ты можешь попробовать это?

select count(t1.id) from (select s_id as id, m_id from hur_e_s_amer
union
select s_id as id, m_id from hur_e_s_emea
union
select r_id as id, m_id from hur_e_r_amer
union
select r_id as id, m_id from hur_e_r_emea
) t1
join (select m_id, d_date from hur_e_c_amer
union
select m_id, d_date from hur_e_c_emea
where d_date between '2018-04-09 00:00:00.0' and '2018-06-08 23:59:59.9'
) t2
on t1.m_id = t2.m_id 
...