创建会话ID并将其应用于事件

时间:2017-04-07 23:18:06

标签: sql hadoop hive

我有一个应用程序的事件数据,可以帮助告诉我在我的应用程序中人们在做什么。

userID|timestamp |name       | value |
A     | 1        |Launch     | 23 |
A     | 3        |ClickButton| Header|
B     | 2        |Launch     | 10 |
B     | 5        |ClickBanner| ad |

我定义了一个Session,因为只要有人超出应用程序超过5分钟,下一个条目就是新会话。所以如果你在4分钟后回来,它仍然是同一个会议。

我使用滞后来选择先前的启动时间戳,为此添加时间值(以秒为单位),然后为下次启动添加差异。因此,我可以为每个会话'

选择第一个时间戳

现在我需要将每个非启动事件映射回它所属的会话中,这样我就可以轻松分析诸如&#​​39;会话中包含广告点击的百分比?'

我使用HIVE来提取数据并且由于我的数据集相当大,我没有成功找到一种有效的方法。

0 个答案:

没有答案