2016-09-06 30 views
1

我在Azure上的分析數據運行一些測試工作運行此查詢:Azure的數據流分析時間戳窗口結束

SELECT System.Timestamp AS ts, Collect() 
INTO output−queue 
FROM input-hub TIMESTAMP BY tapp 
GROUP BY HoppingWindow(second , 4 , 2) 

而且事實證明,在某些情況下,窗口結束時間戳是多的窗口幻燈片參數,但有時不。

例如,slide = 2你得到這個窗口關閉時間戳:

2016-08-04T10:36:40.0000000Z 
2016-08-04T10:36:42.0000000Z 
2016-08-04T10:36:44.0000000Z 
2016-08-04T10:36:46.0000000Z 
2016-08-04T10:36:48.0000000Z 

或者,在情況slide = 5

2016-08-04T14:55:15.0000000Z 
2016-08-04T14:55:20.0000000Z 
2016-08-04T14:55:25.0000000Z 
2016-08-04T14:55:30.0000000Z 

這是真實的,即使對於不同幻燈片值(例如2 ,3,4,6,...)。而且,它是總是是真的!無論工作何時開始。

有些值(例如7,11)不遵循此規則。

有人可以回答爲什麼會發生這種情況嗎?
我想知道Azure SA如何決定何時打開第一個窗口。

非常感謝!

回答

4

有不同種類的窗戶(有關更多詳細信息,請參閱here)。

首先,窗口開始/結束不依賴於作業開始時間。

翻滾跳頻窗戶是最好想,在邏輯上,作爲劃分的時間表本身。例如施加翻滾1分鐘窗口將使結果;這些都是模爲1分鐘時間值僅出現,即下午2時下午2點01

注意,不是每1分鐘邊界必須有窗口結果,它依賴於計算。

滑動窗口可以在時間軸上的任何點產生輸出,而不像翻滾和跳頻的窗戶,確實依賴於輸入事件的時間戳。思考滑動窗口的最佳方法是該窗口可能會在任何輸入事件時結束,並在該事件發生之前開始滑動幻燈片。換句話說,對於每個事件窗口,將包括在其之前或之前發生的所有事件。

希望這會有所幫助。

相關問題