我在流分析中有一个查询来计算每小时的请求数。因此,我有一个原因,我收到消息“预计会有一个窗口”。所以我添加了一个翻滚窗口,但我不明白它是如何工作的。
group by
datetimefromparts(year(r.starttime), month(r.starttime), day(r.starttime), datepart(hh, r.starttime),0,0,0),
r.tags,
r.IsMobile,
tumblingwindow(hh, 1)
当我选择hh
时,我得到了这11个结果:
requestdate tags ismobilecount summary
2016-10-03T21:00:00.000Z A 0 6 2016-10-03T21:00:00.000ZA06
2016-10-03T21:00:00.000Z B 0 1 2016-10-03T21:00:00.000ZB01
2016-10-03T22:00:00.000Z A 0 20 2016-10-03T22:00:00.000ZA020
2016-10-03T21:00:00.000Z B 0 1 2016-10-03T21:00:00.000ZB01
2016-10-03T22:00:00.000Z B 0 14 2016-10-03T22:00:00.000ZB014
2016-10-03T21:00:00.000Z A 1 2 2016-10-03T21:00:00.000ZA12
2016-10-03T21:00:00.000Z B 1 1 2016-10-03T21:00:00.000ZB11
2016-10-03T21:00:00.000Z B 1 1 2016-10-03T21:00:00.000ZB11
2016-10-03T21:00:00.000Z A 1 1 2016-10-03T21:00:00.000ZA11
2016-10-03T22:00:00.000Z A 1 15 2016-10-03T22:00:00.000ZA115
2016-10-03T22:00:00.000Z B 1 22 2016-10-03T22:00:00.000ZB122
但是当我选择dd
(tumblingwindow(hh, 1)
)时,我得到了这些结果:
requestdate tags ismobile count summary
2016-10-16T21:00:00.0000000Z B 1 45 2016-10-16T21:00:00.0000000ZB145
2016-10-16T22:00:00.0000000Z A 0 51 2016-10-16T22:00:00.0000000ZA051
2016-10-16T22:00:00.0000000Z A 1 49 2016-10-16T22:00:00.0000000ZA149
2016-10-16T22:00:00.0000000Z B 0 41 2016-10-16T22:00:00.0000000ZB041
2016-10-16T22:00:00.0000000Z B 1 39 2016-10-16T22:00:00.0000000ZB139
2016-10-16T23:00:00.0000000Z A 0 3 2016-10-16T23:00:00.0000000ZA03
2016-10-16T23:00:00.0000000Z A 0 39 2016-10-16T23:00:00.0000000ZA039
2016-10-16T23:00:00.0000000Z A 1 2 2016-10-16T23:00:00.0000000ZA12
2016-10-16T23:00:00.0000000Z A 1 38 2016-10-16T23:00:00.0000000ZA138
2016-10-16T23:00:00.0000000Z B 0 1 2016-10-16T23:00:00.0000000ZB01
2016-10-16T23:00:00.0000000Z B 0 46 2016-10-16T23:00:00.0000000ZB046
2016-10-16T23:00:00.0000000Z B 1 29 2016-10-16T23:00:00.0000000ZB129
2016-10-16T23:00:00.0000000Z B 1 4 2016-10-16T23:00:00.0000000ZB14
2016-10-17T00:00:00.0000000Z A 0 42 2016-10-17T00:00:00.0000000ZA042
2016-10-17T00:00:00.0000000Z A 1 36 2016-10-17T00:00:00.0000000ZA136
2016-10-17T00:00:00.0000000Z B 0 39 2016-10-17T00:00:00.0000000ZB039
2016-10-17T00:00:00.0000000Z B 1 45 2016-10-17T00:00:00.0000000ZB145
2016-10-17T01:00:00.0000000Z A 0 41 2016-10-17T01:00:00.0000000ZA041
当我开始工作几天时,我每天23:00:00h得到8排。
但我希望每小时只有4行。我怎么解决这个问题?有人可以解释一下这是如何工作的,以及如何解决这个问题?
答案 0 :(得分:0)
我相信这是因为你的标签总是有A和B.这看起来像是预期的行为,因为每个小时你都有A和B.当有更多时,你会得到与IsMobile相同的东西小时组中的一个不同的值。
因此,基于Tags和IsMobile每小时都有两个可能的选择,如果当时有以下事件,则每小时最多可以有四行:
Tag: A, IsMobile: 0
Tag: A, IsMobile: 1
Tag: B, IsMobile: 0
Tag: B, IsMobile: 1