我有以下数据:
================================================================
session_id screen_name screen_launch_time
================================================================
990004916946605-1404157897784 screen1 1404157898275
990004916946605-1404157897784 screen2 1404157898337
990004947764274-1435162269418 screen1 1435162274044
990004947764274-1435162269418 screen3 1435162274081
我想使用 array_agg
函数以以下格式获取我的数据:
=========================================================
session_id screen_flow count
=========================================================
990004916946605-1404157897784 screen1->screen2 1
990004947764274-1435162269418 screen1->screen3 1
有人试过写一本书吗 UDAF
或者 python
脚本来实现 array_agg
功能?
请分享你的想法。
2条答案
按热度按时间cig3rfwq1#
只需按
session_id
,浓缩液screen_name
,并对每组记录进行计数。如果你不想建造砖瓦罐,你可以使用collect_list()
而不是collect()
(但我不推荐)。查询:
输出:
juzqafwq2#
输入:-
下面是Pig式的答案。。
输出:-