Oto scenariusz: Kiedy wzywam hql w następujący sposób, mówi mi, że nie może znaleźć aliasu dla u1.Dlaczego nie można rozpoznać aliasu o nazwie w wybranej części?
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)
Ten problem jest taki sam, jak przy próbie użycia count(*) as cnt
. Czy ktoś może mi dać podpowiedź, jak używać aliasu w klauzuli where? Wielkie dzięki!
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'
Niesamowite rzeczy Fuzzy Drzewo – Wanderer
Rzeczywiście, nie jest to zwykle bywa, ale z Hive można odwołać aliasu w 'having'. – tokland