연속 창(Azure Stream Analytics)

연속 창은 고정된 크기의 겹치지 않고 연속적인 일련의 시간 간격입니다. 다음 다이어그램에서는 일련의 이벤트가 있는 스트림과 10초 연속 창에 매핑되는 방법을 보여 줍니다.

Stream Analytics 연속 창 5분

Syntax

{TUMBLINGWINDOW | TUMBLING} ( timeunit  , windowsize, [offsetsize] )  
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit  , windowsize ), [Offset(timeunit  , offsetsize)] )  
  

참고

위 두 가지 방법으로 연속 창을 사용할 수 있습니다. 도약 창과의 일관성을 허용하려면 모든 유형의 창과 함께 기간 함수를 사용하여 창 크기를 지정할 수 있습니다. 창 기간은 양수 부동 소수자 상수여야 합니다.

인수

timeunit

windowsize에 대한 시간 단위입니다. 다음 표에는 유효한 모든 timeunit 인수가 나와 있습니다.

Timeunit 약어
dd, d
hour hh
minute mi, n
second ss, s
밀리초 ms
microsecond mcs

windowsize

창의 크기를 설명하는 큰 정수입니다. windowsize는 정적이며 런타임에 동적으로 변경할 수 없습니다.

최대 기간은 7일입니다.

offsetsize

기본적으로 연속 창은 창 끝에 포함되고 시작 부분에서는 제외됩니다. 예를 들어 오후 12시 ~ 오후 1시 창에는 정확히 오후 1시에 발생한 이벤트가 포함되지만 12:00PM에 발생한 이벤트는 포함되지 않습니다(이러한 이벤트는 오전 11:00~오후 12:00에 포함됨).

Offset 매개 변수를 사용하여 이 동작을 변경하고 창의 시작 부분에 이벤트를 포함하고 마지막에 발생한 이벤트를 제외할 수 있습니다.

예제

SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)  
FROM Input TIMESTAMP BY EntryTime  
GROUP BY TollId, TumblingWindow(Duration(hour, 1), Offset(millisecond, -1))
SELECT 'reset' AS command
INTO
    alert
FROM
    temperature TIMESTAMP BY timeCreated
GROUP BY TumblingWindow(second,15)
HAVING Avg(machine.temperature) > 25

시간 고려 사항

모든 창 작업이 종료될 때는 이벤트가 출력됩니다. Azure Stream Analytics의 창은 창 시작 시간에 열리고 창 종료 시간에 닫힙니다. 예를 들어 오전 12시에서 오전 12시 사이의 5분 기간이 있는 경우 타임스탬프가 오전 12시보다 크고 타임스탬프가 오전 12:05까지 포함된 모든 이벤트가 이 창에 포함됩니다. 창의 출력은 창 종료 시간과 같은 타임스탬프에서 사용되는 집계 함수를 기준으로 하는 단일 이벤트입니다. 창의 출력 이벤트의 타임스탬프는 별칭을 사용하여 System.Timestamp() 속성을 사용하여 SELECT 문에 프로젝션할 수 있습니다.

참고 항목

도약 창
슬라이딩 윈도우
기간 이동