我试图运行查询,我需要按修改后的值分组并选择相同的值。我不想在两个地方重复UDF调用。一旦应用,是否可以保留UDF的值?

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




从表
通过...分组
concat(day(datetimeVal),':',hour(datetimeVal)

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

最佳答案

在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会感到困惑,甚至不会不幸地运行。

关于hadoop - 如何在运行Hive查询的查询中分配值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26025248/

10-11 07:21