错误消息:当前上下文中不支持tok\u allcolref-在配置单元中使用distinct时

vom3gejh  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(1473)

我使用的是简单的命令: SELECT DISTINCT * FROM first_working_table; 在hive 0.11中,我收到以下错误消息:
失败:当前上下文中不支持semanticexception tok\u allcolref。
有人知道为什么会这样吗?怎么解决?
谢谢你,姑娘。

t5zmwmid

t5zmwmid1#

如前面注解中所指定,不支持distinct*。这是真的。有一个技巧是这样的。
distinct*可以这样使用:

select distinct * from (
select t1.col1,t1.col2,t1.col3,t2.* from t1,t2
)tbl;

我在hive2.x中使用了这种语法。所以我可以确认这是有效的。

xe55xuns

xe55xuns2#

Hive不支持 DISTINCT * 语法。可以手动指定表的每个字段以获得相同的结果:

SELECT DISTINCT field1, field2, ...., fieldN
  FROM first_working_table

相关问题