WATERMARK 句
適用対象: Databricks SQL Databricks Runtime 12.0 以上
select ステートメントで関係にウォーターマークを追加します。 WATERMARK
句は、ストリーム同士の結合と集計を含むステートフル ストリーミング データに対するクエリにのみ適用されます。
構文
from_item
{ table_name [ TABLESAMPLE clause ] [ watermark_clause ] [ table_alias ] |
JOIN clause |
[ LATERAL ] table_valued_function [ table_alias ] |
VALUE clause |
[ LATERAL ] ( query ) [ TABLESAMPLE clause ] [ watermark_clause ] [ table_alias ] }
watermark_clause
WATERMARK named_expression DELAY OF interval
パラメーター
-
型
timestamp
の値を提供する式。 式は、既存の列への参照、または既存の列に対する決定的変換のいずれかである必要があります。 式は、ウォーターマークの追跡に使用される timestamp 型の列を追加します。 追加された列はクエリに使用できます。 -
ウォーターマークの遅延しきい値を定義する間隔リテラル。 1 か月未満の正の値である必要があります。
例
-- Creating a streaming table performing time window row count, with defining watermark from existing column
> CREATE OR REFRESH STREAMING TABLE window_agg_1
AS SELECT window(ts, '10 seconds') as w, count(*) as CNT
FROM
STREAM stream_source WATERMARK ts DELAY OF INTERVAL 10 SECONDS AS stream
GROUP BY window(ts, '10 seconds');
-- Creating a streaming table performing time window row count, with deriving a new timestamp column to define watermark
> CREATE OR REFRESH STREAMING TABLE window_agg_2
AS SELECT window(ts, '10 seconds') as w, count(*) as CNT
FROM
STREAM stream_source WATERMARK to_timestamp(ts_str) AS ts DELAY OF INTERVAL 10 SECONDS AS stream
GROUP BY window(ts, '10 seconds');