Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 配置单元中的子查询-获取错误“;仅允许作为顶级连接的子查询表达式";_Apache_Hadoop_Hive_Hql - Fatal编程技术网

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希望“不在”