2016-09-15 7 views
0

У меня есть искровой DataFrame так:Свечи DataFrame - ряды группы на основе разности временной метки с помощью R

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 

Есть ли способ сделать это, не превращая искровой DataFrame в R dataframe?

+0

Поскольку вы хотите обработать его в R, вам нужно будет использовать подходящую структуру данных в R, не так ли? –

+0

Вы используете 'sparkR'? Какая версия? – Sotos

+0

@Sotos это 1.6.2 –

ответ

0

Эта особая функциональность обычно называется Sessionization и часто используется веб-аналитиками для идентификации сеансов для определенного пользователя. Есть встроенные UDF в улье, которые можно использовать с sparksqlcontext. Например, https://docs.treasuredata.com/articles/udfs