我试图理解为什么以下子查询将在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行不受支持的子查询表达式“标识符”: 关联表达式不能包含不合格的列引用。
答案 0 :(得分:0)
问题可能是由于主查询和内部子查询中的两个查询都包含“标识符”。明确提及您所指的“标识符”(例如“ mytable.identifier”)可以解决此问题。
这可能是Hive的问题,该问题已在最新版本中修复,并且在Hive 3.1.0中未复制。
如果您仍然遇到问题,请告知我们您正在使用的配置单元版本以及用于创建表的DDL语句。