我有一个数据集,A有时间戳,访问者,URL:
(2012-07-21T14:00:00.000Z, joe, hxxp:///www.aaa.com)
(2012-07-21T14:01:00.000Z, mary, hxxp://www.bbb.com)
(2012-07-21T14:02:00.000Z, joe, hxxp:///www.aaa.com)
Run Code Online (Sandbox Code Playgroud)
我想在一个时间窗口(例如10分钟)内测量每个用户每个用户的访问次数,但是作为一个滚动窗口,按分钟递增.输出将是:
(2012-07-21T14:00 to 2012-07-21T14:10, joe, hxxp://www.aaa.com, 2)
(2012-07-21T14:01 to 2012-07-21T14:11, joe, hxxp://www.aaa.com, 1)
Run Code Online (Sandbox Code Playgroud)
为了简化算术,我将时间戳更改为一天中的分钟,如下所示:
(840, joe, hxxp://www.aaa.com) /* 840 = 14:00 hrs x 60 + 00 mins) */
Run Code Online (Sandbox Code Playgroud)
要通过移动时间窗口迭代'A',我在当天创建一个分钟数据集B:
(0)
(1)
(2)
.
.
.
.
(1440)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想做的事情如下:
A = load 'dataset1' AS (ts, visitor, uri)
B = load 'dataset2' as (minute)
foreach B {
C = filter A by ts > minute AND ts < minute + …Run Code Online (Sandbox Code Playgroud)