我的测试数据如下所示:(它的图形)
elemuid <- c(1, 2, 3, 4, 5, 6, 7)
timestamp <- c("2018-02-10 23:00:00", "2018-02-10 23:01:00", "2018-02-10 22:59:00", "2018-02-10 22:40:00", "2018-02-10 22:39:00", "2018-02-10 22:37:00", "2018-02-10 23:01:00")
from <- c(10, 8, 2, 12, 7, 8, 9)
to <- c(9, 10, 10, 3, 12, 7, 8)
value <- c(56, 26, 60, 50, 90, 80, 50)
df <- data.frame(elemuid, timestamp, from, to, value)
elemuid timestamp from to value
1 2018-02-10 23:00:00 10 9 56
2 2018-02-10 23:01:00 8 10 26
3 2018-02-10 22:59:00 2 10 60
4 2018-02-10 22:40:00 12 3 50
5 2018-02-10 22:39:00 7 12 90
6 2018-02-10 22:37:00 8 7 80
7 2018-02-10 23:01:00 9 8 50
df <- copy_to(sc, df)
如您所见,spark-dataframe未排序。我正在寻找sparklyr的一些功能,以建立一对3分钟的窗口。因此,例如ID为3,1,7的行应该构建一对,因为它们共享有效的从实体到(2 - > 10 - > 9 - > 8)并且在3的时间窗内。分钟。 (在凌乱的世界中的完美例子)
然而,结果应如下所示:
elemuid1 elemuid2 elemuid3 timestamp1 timestamp2 timestamp3 from to value1 value2 value3
3 1 7 2018-02-10 22:59:00 2018-02-10 23:00:00 2018-02-10 23:01:00 2 8 60 56 50
这对我来说是一项非常艰巨的任务,一个闪闪发光的 -beginner。我的问题是我在同一个日期有多个 elemuid 。订购是因为这个原因非常艰难。我希望有些人可以帮助我。谢谢!