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 для обеих версий, чтобы понять это лучше.

Другие вопросы по тегам