我正在尝试使用配置单元计算数据集中发生了多少次“使用”。
我的数据中有各个用户id、unix历元时间的时间戳、事件名称和事件长度(以秒为单位)的列。
用户触发事件的任何时候都会考虑“使用”。问题是,如果一个用户触发一个事件,然后在五分钟内触发另一个事件,我将被算作相同的“使用”
我很难在脑子里想清楚如何计算5分钟的计算时间。我似乎无法像在sql中那样在hive中创建一堆“create tables”,以避免过多的子查询,因为我很容易在这些子查询中迷失方向。
这似乎是一个标准问题,有没有一个聪明或明显的解决方案来处理这样的项目?
谢谢您
1条答案
按热度按时间krcsximq1#
在 hive 里,你可以用
lag()
在给定的记录前5分钟看是否还有另一个记录。如果没有,则将标志设置为1并计算: