如何在运行Hive查询的查询中分配值

时间:2014-09-24 19:47:41

标签: hadoop hive hiveql

我试图运行一个查询,我需要按修改后的值进行分组并选择相同的值。我不想在这两个地方复制UDF调用。有没有办法在应用后保留UDF的值?

查询在概念上看起来像这样: SELECT concat(day(datetimeVal),':',hour(datetimeVal), 。 。

FROM table 通过...分组 concat(day(datetimeVal),':',hour(datetimeVal)

我不想做" concat(day(datetimeVal),':',hour(datetimeVal)"两次。

1 个答案:

答案 0 :(得分:0)

在Hive中,您需要使用" concat(day(datetimeVal),':',hour(datetimeVal)"两次,除非您创建了一个辅助表

Select day_hour from(Select concat(day(datetimeVal),':',hour(datetimeVal) as day_hour, 
* from table) GROUP BY day_hour;

否则,Hive会感到困惑甚至不幸运行。