Apache 配置单元中的子查询-获取错误“;仅允许作为顶级连接的子查询表达式";
尝试在配置单元中使用子查询运行此查询,如下所示:Apache 配置单元中的子查询-获取错误“;仅允许作为顶级连接的子查询表达式";,apache,hadoop,hive,hql,Apache,Hadoop,Hive,Hql,尝试在配置单元中使用子查询运行此查询,如下所示: select y,m,d,h from A where d not in (select d from B) 我得到一个错误,“只允许作为顶级连接的子查询表达式” 有人知道这意味着什么以及如何避开它吗 提前谢谢 我假设您使用的是蜂巢版本
select y,m,d,h from A
where d not in (select d from B)
我得到一个错误,“只允许作为顶级连接的子查询表达式”
有人知道这意味着什么以及如何避开它吗
提前谢谢 我假设您使用的是蜂巢版本<0.13。有些子查询表达式是不允许的,这就是其中之一。请尝试此左外部联接:
SELECT A.y, A.m, A.d, A.h
FROM A
LEFT OUTER JOIN B ON A.d = B.d
WHERE B.d IS NULL;
如果移动到hive 0.13,您应该能够以以下方式使用它:
SELECT A.y, A.m, A.d, A.h FROM A WHERE A.d NOT IN (SELECT d FROM B);
您正在使用哪个版本的配置单元?左半联接将相当于in,op希望“不在”