Share via


도약 창(Azure 스트림 분석)

연속 창과 달리 겹치는 창 모델 예약된 겹치는 창입니다. 호핑 창 사양은 timeunit, windowsize (각 창이 지속되는 기간) 및 홉사이즈 (각 창이 이전 창과 비교하여 앞으로 이동하는 양)의 세 가지 매개 변수로 구성됩니다. 또한 offsetsize는 선택적 네 번째 매개 변수로 사용할 수 있습니다. 연속 창은 단순히 '도약'이 '크기'와 같은 도약 창입니다.

다음 그림에서는 일련의 이벤트가 포함된 스트림을 보여 줍니다. 각 상자는 도약 창과 해당 창의 일부로 계산되는 이벤트를 나타내며, '도약'은 5이고, '크기'는 10이라고 가정합니다.

Stream Analytics 호핑 창 다이어그램

Syntax

{HOPPINGWINDOW | HOPPING} ( timeunit  , windowsize , hopsize, [offsetsize] )
{HOPPINGWINDOW | HOPPING} ( Duration( timeunit  , windowsize ) , Hop (timeunit  , windowsize ), [Offset(timeunit  , offsetsize)])  
  

참고

위 두 가지 방법으로 도약 창을 사용할 수 있습니다. windowsize와 hopsize의 timeunit이 같은 경우 Duration 및 Hop 함수 없이 이를 사용할 수 있습니다. 또한 Duration 함수를 다른 유형의 창과 함께 사용하여 창 크기를 지정할 수 있습니다.

인수

timeunit

windowsize 또는 홉사이즈에 대한 시간 단위입니다. 다음 표에서는 유효한 모든 timeunit 인수를 나열합니다.

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

windowsize

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

모든 경우 최대 기간은 7일입니다.

hopsize

홉의 크기를 설명하는 큰 정수입니다.

offsetsize

기본적으로 도약 창은 창의 끝에 포함되며 시작 부분에서만 사용할 수 있습니다. 예를 들어 오후 12:05 ~ 오후 1:05 창에는 정확히 오후 1:05에 발생한 이벤트가 포함되지만 12:05:PM에 발생한 이벤트는 포함되지 않습니다(이 이벤트는 오후 12시 ~ 오후 11:00 창에 포함됨).
Offset 매개 변수를 사용하여 동작을 변경하고 창의 시작 부분에 이벤트를 포함하고 결국 발생한 이벤트를 제외할 수 있습니다.

예제

SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)  
FROM Input TIMESTAMP BY EntryTime  
GROUP BY TollId, HoppingWindow(Duration(hour, 1), Hop(minute, 5), Offset(millisecond, -1))  
  

시간 고려 사항

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