Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime 12.0 a vyšší
Přidá vodoznak do vztahu v příkazu select. Klauzule WATERMARK se vztahuje pouze na dotazy na stavová streamovaná data, která zahrnují spojení datových proudů a agregaci.
Syntaxe
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
Parametry
-
Výraz, který poskytuje hodnotu typu
timestamp. Výraz musí být buď odkazem na existující sloupec, nebo deterministickou transformací proti existujícím sloupcům. Výraz přidá sloupec typu časového razítka, který se používá ke sledování vodoznaku. Přidaný sloupec je k dispozici pro dotazování. -
Literál intervalu, který definuje prahovou hodnotu zpoždění u vodoznaku. Musí to být kladná hodnota menší než měsíc.
Příklady
-- 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');