시간 윈도우 함수는 해당 윈도우의 하한은 포함하고 상한은 제외한 경계를 반환합니다. WindowView 작업에 사용되는 함수는 아래와 같습니다:
hop
도입 버전: v21.12.0
호핑 시간 윈도우는 고정된 기간(window_interval)을 가지며, 지정된 홉 인터벌(hop_interval) 간격으로 이동합니다. hop_interval이 window_interval보다 작으면 호핑 윈도우는 서로 겹칩니다. 따라서 레코드는 여러 윈도우에 할당될 수 있습니다.
하나의 레코드가 여러 hop 윈도우에 할당될 수 있으므로, hop 함수를 WINDOW VIEW 없이 사용하면 이 함수는 첫 번째 윈도우의 경계값만 반환합니다.
구문
hop(time_attr, hop_interval, window_interval[, timezone])인수
time_attr— 날짜 및 시간입니다.DateTimehop_interval— 양수 홉 인터벌입니다.Intervalwindow_interval— 양수 윈도우 인터벌입니다.Intervaltimezone— 선택 사항입니다. 시간대 이름입니다.String
반환 값
해당 호핑 윈도우의 하한(포함)과 상한(제외)을 반환합니다. Tuple(DateTime, DateTime)
예시
호핑 윈도우
SELECT hop(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)('2026-01-01 00:00:00','2026-01-03 00:00:00')hopEnd
도입 버전: v22.1.0
해당 호핑 윈도우의 상한(제외)을 반환합니다.
하나의 레코드는 여러 hop 윈도우에 할당될 수 있으므로, WINDOW VIEW 없이 hop 함수를 사용하면 이 함수는 첫 번째 윈도우의 경계만 반환합니다.
구문
hopEnd(time_attr, hop_interval, window_interval[, timezone])인수
time_attr— 날짜 및 시간입니다.DateTimehop_interval— 양수 홉 인터벌입니다.Intervalwindow_interval— 양수 윈도우 인터벌입니다.Intervaltimezone— 선택 사항입니다. 시간대 이름입니다.String
반환 값
해당 호핑 윈도우의 상한(제외)을 반환합니다. DateTime
예시
호핑 윈도우 종료
SELECT hopEnd(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)2026-01-03 00:00:00hopStart
도입 버전: v22.1.0
해당 호핑 윈도우의 하한(포함)을 반환합니다.
하나의 레코드는 여러 hop 윈도우에 할당될 수 있으므로, WINDOW VIEW 없이 hop 함수를 사용하면 이 함수는 첫 번째 윈도우의 경계만 반환합니다.
구문
hopStart(time_attr, hop_interval, window_interval[, timezone])인수
time_attr— 날짜 및 시간입니다.DateTimehop_interval— 양수 홉 인터벌입니다.Intervalwindow_interval— 양수 윈도우 인터벌입니다.Intervaltimezone— 선택 사항입니다. 시간대 이름입니다.String
반환 값
해당 호핑 윈도우의 하한(포함)을 반환합니다. DateTime
예시
호핑 윈도우 시작점
SELECT hopStart(toDateTime('2026-01-02 03:04:05', 'UTC'), INTERVAL '1' DAY, INTERVAL '2' DAY)2026-01-01 00:00:00tumble
도입 버전: v21.12.0
텀블링 시간 윈도우는 레코드를 고정된 기간(interval)의 서로 겹치지 않는 연속된 윈도우에 할당합니다.
구문
tumble(time_attr, interval[, timezone])인수
time_attr— 날짜 및 시간입니다.DateTimeinterval— 윈도우 인터벌을 나타내는 Interval입니다.Intervaltimezone— 선택 사항입니다. 시간대 이름입니다.String
반환 값
해당 텀블링 윈도우의 하한(포함)과 상한(제외)을 반환합니다. Tuple(DateTime, DateTime)
예시
텀블링 윈도우
SELECT tumble(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))('2026-01-02 00:00:00','2026-01-03 00:00:00')tumbleEnd
도입 버전: v22.1.0
해당 텀블링 윈도우의 상한(제외)을 반환합니다.
구문
tumbleEnd(time_attr, interval[, timezone])인수
time_attr— 날짜 및 시간입니다.DateTimeinterval—Interval타입의 윈도우 인터벌입니다.Intervaltimezone— 선택 사항입니다. 시간대 이름입니다.String
반환 값
해당 텀블링 윈도우의 상한(제외)을 반환합니다. DateTime
예시
텀블링 윈도우 종료 시점
SELECT tumbleEnd(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))2026-01-03 00:00:00tumbleStart
도입 버전: v22.1.0
해당 텀블링 윈도우의 하한(포함)을 반환합니다.
구문
tumbleStart(time_attr, interval[, timezone])인수
time_attr— 날짜 및 시간입니다.DateTimeinterval— 인터벌(Interval) 타입의 윈도우 인터벌입니다.Intervaltimezone— 선택 사항입니다. 시간대 이름입니다.String
반환 값
해당 텀블링 윈도우의 하한(포함)을 반환합니다. DateTime
예시
텀블링 윈도우 시작
SELECT tumbleStart(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))2026-01-02 00:00:00windowID
도입 버전: v22.1.0
해당 텀블링 윈도우 또는 호핑 윈도우의 식별자를 반환합니다.
이 함수는 WINDOW VIEW에서만 사용할 수 있습니다.
구문
windowID(time_attr, interval[, timezone])인수
time_attr— 날짜 및 시간입니다.DateTimeinterval—Interval단위의 윈도우 인터벌입니다.Intervaltimezone— 선택 사항입니다. 시간대 이름입니다.String
반환 값
해당 윈도우의 식별자를 반환합니다. UInt32
예시
윈도우 ID
SELECT windowID(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))1767398400