Hier ist das Szenario: Wenn ich hql wie folgt aufrufen, sagt es mir, dass es Alias für u1 nicht finden kann.Warum kann Hive den im ausgewählten Teil benannten Alias nicht erkennen?
hive> select user as u1, url as u2 from rank_test where u1 != "";
FAILED: SemanticException [Error 10004]: Line 1:50 Invalid table alias or column reference 'u1': (possible column names are: user, url)
Dieses Problem ist das gleiche wie wenn ich versuche, count(*) as cnt
zu verwenden. Könnte mir jemand einen Hinweis geben, wie man den Alias in where-Klausel verwendet? Danke vielmals!
hive> select user, count(*) as cnt from rank_test where cnt >= 2 group by user;
FAILED: ParseException line 1:58 missing EOF at 'where' near 'user'
ehrfürchtige Sachen Fuzzy Baum – Wanderer
der Tat ist es in der Regel nicht der Fall, aber mit Hive können Sie einen Aliasnamen in 'having' verweisen. – tokland