1

我试图理解为什么以下子查询将在 Impala 而不是 Hive 中工作。

    select * from MySchema.MyTable where identifier not in 
     (select identifier from schema.table where status_code in (1,2,3));

编辑:

添加了错误

编译语句时出错:失败:SemanticException [错误 10249]:第 1:55 行不受支持的子查询表达式“标识符”:相关表达式不能包含不合格的列引用。

4

1 回答 1

0

问题可能是由于两个查询中的“标识符”,在主查询和内部子查询中。明确提及您所指的“标识符”(例如“mytable.identifier”)应该可以解决此问题。

这可能是 Hive 的一个问题,该问题已在最近的版本中修复,并且该问题未在 hive 3.1.0 中重现。

如果您仍然遇到问题,请告诉我们您正在使用的配置单元版本以及用于创建表的 DDL 语句。

于 2019-03-01T06:43:34.863 回答