我有一个配置单元表t_user_action: uid , timestamp, action 1, 2016-01-01 12:00, login 3, 2016-01-01 12:30, login 1, 2016-01-01 12:05, click 2, 2016-01-01 13:00, login 2, 2016-01-01 13:05, logout ...并且我想编写一个配置单元sql,返回每个用户的操作列表。它应该是: 1, [<2016-01-01 12:00, login>, <2016-01-01 12:05, click>] 2, [<2016-01-01 13:00, login>, <2016-01-01 13:05, logout>] 3, [<2016-01-01 12:30, login>]如何通过Hive SQL获得此结果?

最佳答案

您可以使用 collect_set()函数

SELECT uid,COLLECT_SET(CONCAT('<',timestamp, ',' ,action,'>'))
FROM t_user
GROUP BY uid

关于sql - Hive返回每个用户的操作列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40079682/

10-11 22:29
查看更多