配置单元失败的语义异常

Hive Failed SemanticException

Hive vertion:apache-hive-2.3.0
hive> select TAG_EMOTION_KEY AS key,count(1) AS cnn from NB_ORDER_RATE_EMOTION t  where t.cnn>10 group by TAG_EMOTION_KEY ;
FAILED: SemanticException [Error 10002]: Line 1:84 Invalid column reference 'cnn' 

这是什么原因?

您基本上是在尝试获取出现超过 10 个的 TAG_EMOTION_KEY 的列表。为此,您需要使用 HAVING 而不是 WHERE 子句。

喜欢:

select
    TAG_EMOTION_KEY AS key,
    count(1) AS cnn
from
    NB_ORDER_RATE_EMOTION t
group by
    TAG_EMOTION_KEY
having
    count(1) > 10
;

以下问题提供了 HAVINGWHERE 子句之间的区别:SQL - having VS where