我有一个像这样的spark DataFrame:
timestamp userId
2016-07-26 12:05:00 a
2016-07-26 12:05:01 b
2016-07-26 12:05:02 c
2016-07-26 12:05:03 d
2016-07-26 12:05:04 e
2016-07-26 12:05:05 f
我想把差值在5秒以内的行分组为一组,比如:
timestamp userId group
2016-07-26 12:05:00 a 1
2016-07-26 12:05:01 b 1
2016-07-26 12:05:02 c 1
2016-07-26 12:05:03 d 1
2016-07-26 12:05:04 e 1
2016-07-26 12:05:05 f 2
有没有一种方法可以做到这一点,而不将spark数据框架转换为R数据框架?
这种特殊的功能通常被称为会话化,web分析人员经常使用它来识别特定用户的会话。hive中有内置的udf,可以与sparksqlcontext一起使用。例如,https://docs.treasuredata.com/articles/udfs