我试图运行查询,我需要按修改后的值分组并选择相同的值。我不想在两个地方重复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/