我有一大堆的特点是note
列在火花事件(用户点击/动作/按下按钮)的:Sessionization火花
>>> df.show(20)
+-------+-------------+------------+------+
| user| timestamp| note|action|
+-------+-------------+------------+------+
|2376466|1458580817381|event #1 ...|UPDATE|
|2376466|1458580822034|event #1 ...|UPDATE|
|2376466|1458580822112|event #2 ...|UPDATE|
|2376466|1458580822166|event #2 ...|UPDATE|
|2376466|1458580822216|event #2 ...|UPDATE|
|2376466|1458580822225|event #2 ...|UPDATE|
|2376466|1458580822651|event #1 ...|UPDATE|
|2376466|1458580822660|event #1 ...|UPDATE|
+-------+-------------+------------+------+
我想知道一个“会话”的持续时间特别是note
。例如,事件#2开始于1458580822112并结束于1458580822225,因此持续时间将是..225 - ..112 = 113
毫秒。是否有任何火花助手或快捷方式将数据组织到“”会话“或其他方式来提取这样的信息?或者想法是不断地向每行添加额外的状态信息并在会话标识符列准备就绪时将其卷起?
注意:同一类型的多个音符应该被认为是单独的会话
据我了解你的意图可能与窗口功能,但它不漂亮或特别有效。尽管如此,我已经发布了一些类似问题的答案。总的来说,实现像这样的RDDs(可能还包含数据集)可能更容易,但这是一个相当广泛的问题。 – zero323
你介意在表面挖掘类似的问题吗? – Oleksiy
如果我不忘记,我会在明天搜索,但它几乎是三个基本步骤:1)确定在“会话”之间切换(滞后)2)添加会话标识符(切换点的累计和)3)某些统计信息 – zero323