다음을 통해 공유


연속 창(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 문에 프로젝션할 수 있습니다.

참고 항목

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