对不起,有一个新手问题。Spark:如何根据userId和时间戳创建sessionId
目前我有日志文件,其中包含诸如userId,event和timestamp等字段,同时缺少sessionId。我的目标是根据时间戳和预先定义的值TIMEOUT为每条记录创建一个sessionId。
如果超时值是10,和样本数据帧是:
scala> eventSequence.show(false)
+----------+------------+----------+
|uerId |event |timestamp |
+----------+------------+----------+
|U1 |A |1 |
|U2 |B |2 |
|U1 |C |5 |
|U3 |A |8 |
|U1 |D |20 |
|U2 |B |23 |
+----------+------------+----------+
的目标是:
+----------+------------+----------+----------+
|uerId |event |timestamp |sessionId |
+----------+------------+----------+----------+
|U1 |A |1 |S1 |
|U2 |B |2 |S2 |
|U1 |C |5 |S1 |
|U3 |A |8 |S3 |
|U1 |D |20 |S4 |
|U2 |B |23 |S5 |
+----------+------------+----------+----------+
我发现在R(Create a "sessionID" based on "userID" and differences in "timeStamp")一个解决方案,而我不能在Spark中找出它。
感谢您对此问题的任何建议。
的可能的复制[如何在Spark数据帧添加一列?(http://stackoverflow.com/questions/ 32788322 /如何添加列火花数据框) –
这不是一个重复的问题作为链接的问题。链接的问题显示了“如何在DataFrame中添加新列”,而我需要的是“如何在DataFrame中计算新列值(如sessionId) – Torrence