문서 메뉴
문서 홈
/
MongoDB 아틀라스
/ /

$tumblingWindow

이 페이지의 내용

  • 정의
  • 구문
  • 행동

$tumblingWindow 단계는 데이터 애그리게이션을 위한 텀블링 창 을 지정합니다. Atlas Stream Processing 창은 상태를 저장하며, 중단된 경우 복구할 수 있으며, 늦게 도착하는 데이터를 처리하는 메커니즘을 갖추고 있습니다. 이 윈도우 단계 내에서 다른 모든 애그리게이션 쿼리를 스트리밍 데이터에 적용해야 합니다.

$tumblingWindow

$tumblingWindow 파이프라인 단계의 프로토타입 형식은 다음과 같습니다.

{
"$tumblingWindow": {
"interval": {
"size": <int>,
"unit": "<unit-of-time>"
},
"pipeline" : [
<aggregation-stage-array>
],
"offset": {
"offsetFromUtc": <int>,
"unit": "<unit-of-time>"
},
"idleTimeout": {
"size": <int>,
"unit": "<unit-of-time>"
},
"allowedLateness": {
size: <int>,
unit: "<unit-of-time>"
}
}
}

$tumblingWindow 단계에서는 다음 필드가 있는 문서를 사용합니다.

필드
유형
필요성
설명
interval
문서
필수 사항

호핑 윈도우 의 간격을 크기와 시간 단위의 조합으로 지정하는 문서입니다.

  • size 값은 0이 아닌 양의 정수여야 합니다.

  • unit 의 값은 다음 중 하나여야 합니다.

    • "ms" (밀리초)

    • "second"

    • "minute"

    • "hour"

    • "day"

예를 들어 의 size 20unitsecond 각 창이 20 초 동안 열린 상태로 유지되도록 설정합니다.

pipeline
배열
필수 사항
창 내의 메시지에 대해 평가된 중첩 집계 파이프라인입니다.
offset
문서
옵션

UTC를 기준으로 창 경계의 시간 오프셋을 지정하는 문서입니다. 문서는 크기 필드 offsetFromUtc 와 시간 단위의 조합으로, 여기서 다음과 같습니다.

  • offsetFromUtc 값은 0이 아닌 양의 정수여야 합니다.

  • unit 의 값은 다음 중 하나여야 합니다.

    • "ms" (밀리초)

    • "second"

    • "minute"

    • "hour"

예를 들어 8offsetFromUtchourunit 는 UTC보다 8시간 앞서 이동하는 경계를 생성합니다. 오프셋을 지정하지 않으면 창 경계가 UTC에 맞춰 정렬됩니다.

idleTimeout
문서
옵션

$source 이(가) 유휴 상태인 경우 Windows 를 닫기 전에 대기할 시간을 지정하는 문서입니다. 이 설정을 시간의 sizeunit 의 조합으로 정의합니다.

  • size 값은 0이 아닌 양의 정수여야 합니다.

  • unit 의 값은 다음 중 하나일 수 있습니다.

    • "ms" (밀리초)

    • "second"

    • "minute"

    • "hour"

    • "day"

idleTimeout을(를) 설정하면 $source 이(가) 남은 창 시간 또는 idleTimeout 시간 중 더 긴 시간 동안 유휴 상태인 경우에만 Atlas Stream Processing 이 열려 있는 Windows 을 닫습니다. $source 이(가) 유휴 상태가 되는 즉시 유휴 타이머가 시작됩니다.

예를 들어 12:00 오후부터 1:00 오후 기간과 idleTimeout 시간이 2 시간이라고 가정해 보겠습니다. 마지막 이벤트가 12:02 오후에 $source 이(가) 유휴 상태인 경우 남은 창 시간은 58 분입니다. Atlas Stream Processing은 남은 창 시간과 idleTimeout 시간보다 긴 2:02 오후에 2 시간의 유휴 시간 후 창을 닫습니다. idleTimeout 시간이 10 분으로만 설정된 경우, Atlas Stream Processing은 idleTimeout 시간보다 긴 1:00 오후에 58 분의 유휴 시간 후 창을 닫으며, 나머지 창은 시간.

allowedLateness
문서
옵션
창 종료 시간 동안 문서를 처리한 후 늦게 도착하는 데이터를 허용하기 위해 소스에서 생성된 을 열어 둘 기간을 지정하는 문서입니다. 생략하면 기본값은 3 초입니다.

Atlas Stream Processing은 파이프라인당 하나의 윈도우 단계만 지원합니다.

$group 단계를 윈도우 단계에 적용하는 경우 단일 그룹 키 의 RAM 용량은 100 메가바이트로 제한됩니다.

특정 애그리게이션 단계에 대한 지원은 기간 내에서 제한되거나 사용하지 못할 수 있습니다. 자세한 내용은 지원되는 집계 파이프라인 단계를 참조하세요.

서비스가 중단되는 경우 창의 내부 파이프라인을 중단 시점의 상태로 재개할 수 있습니다. 자세한 내용은 체크포인트를 참조하세요.

← $hoppingWindow
$emit →

이 페이지의 내용