對不起,有一個新手問題。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