時間ウィンドウ関数は、対応するウィンドウの下限 (含む) と上限 (含まない) を返します。 WindowView で使用する関数を以下に示します。
hop
導入バージョン: v21.12.0
ホッピング時間ウィンドウは、固定長の (window_interval) を持ち、指定したホップ間隔 (hop_interval) ごとに移動します。hop_interval が window_interval より小さい場合、ホッピングウィンドウは重なります。そのため、レコードは複数のウィンドウに割り当てられることがあります。
1 つのレコードが複数の hop ウィンドウに割り当てられる可能性があるため、WINDOW VIEW を使わずに hop 関数を使用した場合、この関数は最初のウィンドウの境界のみを返します。
構文
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
対応するホッピングウィンドウの上限を返します。
1 つのレコードは複数の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
対応するホッピングウィンドウの下限を返します。
1 つのレコードは複数の hop ウィンドウ に割り当てられる可能性があるため、hop 関数を WINDOW VIEW なしで使用した場合、この関数は最初のウィンドウの境界のみを返します。
構文
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])引数
戻り値
対応するタンブリングウィンドウの下限 (含む) と上限 (含まない) を返します。 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])引数
戻り値
対応するタンブリングウィンドウの上限を返します。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])引数
戻り値
対応するタンブリングウィンドウの下限を返します。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])引数
戻り値
対応するウィンドウの識別子を返します。 UInt32
例
ウィンドウ ID
SELECT windowID(toDateTime('2026-01-02 03:04:05', 'UTC'), toIntervalDay('1'))1767398400