SemanticException [Ошибка 10085]: СОЕДИНЕНИЕ с БОЛЬШИМ ВИДОМ не поддерживается 'id'
Я получил код от моего начальства, который работал над старым кластером улья. Я работаю над новым кластером и пытаюсь запустить его, используя функцию beeline на Putty 'bf mycode.sql ', которая выдает ошибку:
Ошибка: ошибка при компиляции оператора: СБОЙ: SemanticException [Ошибка 10085]: Строка 6:24 СОЕДИНЕНИЕ с БОЛЬШИМ ВИДОМ не поддерживается 'id' (состояние =42000, код =10085)
create table myTable as select distinct AtypeId
,cast(from_unixtime(t.timestamp) as date) as date
,C
,t.id
,t.marketid
from File1 LATERAL VIEW explode(eventlist) exploded_table as t
join File2
on oldID=t.id
order by AtypeId,date;
Есть идеи, что мне делать?
2 ответа
Если кто-то сталкивался с проблемой, это работало для меня.
create table myTable as select distinct AtypeId
,cast(from_unixtime(t.timestamp) as date) as date
,t.id
,t.marketid
from File1 LATERAL VIEW explode(eventlist) exploded_table as t
order by AtypeId,date;
create table myTable2 as select distinct AtypeId
,date
,C
,id
,marketid
from myTable
inner join File2
on oldID=id;
Попробуйте после изменения вашего запроса, как показано ниже:
create table myTable as
select t.* from
(
select distinct
AtypeId
,cast(from_unixtime(t.timestamp) as date) as date
,C
,t.id
,t.marketid
from
File1 LATERAL VIEW explode(eventlist) exploded_table
) as t join File2 on oldID=t.id
order by AtypeId,date;
Существуют определенные ограничения на совместное использование объединений и бокового обзора, если вы не можете lateral view
с map join
,
Я сомневаюсь в том, что в более старой версии в соединении может происходить что-то другое, поэтому не выдает никаких ошибок. Вам нужно посмотреть на explain plan
для обеих версий, чтобы понять это лучше.