SemanticException [错误10085]:不支持带有横向视图的JOIN'id'

时间:2019-02-12 13:06:13

标签: sql join hive beeline

我从上级那里收到了一个在旧的Hive Cluster上工作的代码。我正在研究一个新集群,并尝试在Putty'bf mycode.sql'上使用beeline函数运行它,引发错误:

  

错误:编译语句时出错:失败:SemanticException   [错误10085]:不支持带有横向视图的第6:24行JOIN   '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 个答案:

答案 0 :(得分:0)

按如下所示更改查询后尝试:

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 viewmap join的情况下,将连接和横向视图一起使用存在一定的限制。

我怀疑的一件事是,在较旧的版本中,它可能在联接中做了一些不同的事情,因此没有引发任何错误。您需要查看两个版本的explain plan才能更好地理解它。

答案 1 :(得分:0)

如果有人遇到问题,这对我有用。

Critical , 13
High , 114
Medium , 431
Low , 4484