错误消息:当前上下文中不支持TOK_ALLCOLREF - 在HIVE中使用DISTINCT时

use*_*144 16 sql hadoop hive distinct bigdata

我正在使用简单的命令:SELECT DISTINCT * FROM first_working_table; 在HIVE 0.11中,我收到以下错误消息:

FAILED:当前上下文不支持SemanticException TOK_ALLCOLREF.

有谁知道为什么会这样?我们怎么解决呢?

谢谢你,加尔.

Nig*_*nel 32

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

SELECT DISTINCT field1, field2, ...., fieldN
  FROM first_working_table
Run Code Online (Sandbox Code Playgroud)


kal*_*esh 6

正如之前的评论中指定的不同 * 不支持。这是真的。一招可以是这样。

Distinct * 可以以这种方式使用:

select distinct * from (
select t1.col1,t1.col2,t1.col3,t2.* from t1,t2
)tbl;
Run Code Online (Sandbox Code Playgroud)

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