# タイムウィンドウ関数
# tumble
tumbleは、固定の期間(interval
)で連続しない、重複しないウィンドウにレコードを割り当てます。
tumble(time_attr, interval [, timezone])
引数
time_attr
- 日付と時刻。DateTimeデータ型。interval
- ウィンドウの期間。Intervalデータ型。timezone
— タイムゾーン名(オプション)。
返される値
- 対応するtumblingウィンドウの包括的な下限と排他的な上限。
- 型:
Tuple(DateTime, DateTime)
例
SELECT tumble(now(), toIntervalDay('1'))
┌─tumble(now(), toIntervalDay('1'))─────────────┐
│ ('2023-10-27 00:00:00','2023-10-28 00:00:00') │
└───────────────────────────────────────────────┘
# hop
hopは、固定の期間(window_interval
)でホップし、指定されたホップ間隔(hop_interval
)でホップするホッピングウィンドウです。hop_interval
がwindow_interval
よりも小さい場合、ホッピングウィンドウは重複します。したがって、レコードは複数のウィンドウに割り当てられることがあります。
hop(time_attr, hop_interval, window_interval [, timezone])
引数
time_attr
- 日付と時刻。DateTimeデータ型。hop_interval
- ホップ間隔。Intervalデータ型。正の数である必要があります。window_interval
- ウィンドウの期間。Intervalデータ型。正の数である必要があります。timezone
— タイムゾーン名(オプション)。
返される値
- 対応するホッピングウィンドウの包括的な下限と排他的な上限。1つのレコードが複数のホップウィンドウに割り当てられることがあるため、ホップ関数が
WINDOW VIEW
なしで使用される場合、関数は最初のウィンドウの境界のみを返します。 - 型:
Tuple(DateTime, DateTime)
例
SELECT hop(now(), INTERVAL '1' SECOND, INTERVAL '2' SECOND)
┌─hop(now(), toIntervalSecond('1'), toIntervalSecond('2'))──┐
│ ('2023-10-27 15:10:17','2023-10-27 15:10:19') │
└───────────────────────────────────────────────────────────┘
# tumbleStart
対応するtumblingウィンドウの包括的な下限を返します。
tumbleStart(bounds_tuple);
tumbleStart(time_attr, interval [, timezone]);
# tumbleEnd
対応するtumblingウィンドウの排他的な上限を返します。
tumbleEnd(bounds_tuple);
tumbleEnd(time_attr, interval [, timezone]);
# hopStart
対応するhoppingウィンドウの包括的な下限を返します。
hopStart(bounds_tuple);
hopStart(time_attr, hop_interval, window_interval [, timezone]);
# hopEnd
対応するhoppingウィンドウの排他的な上限を返します。
hopEnd(bounds_tuple);
hopEnd(time_attr, hop_interval, window_interval [, timezone]);