Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks SQL
Databricks Runtime 12.0 i nowsze
Dodaje znak wodny do relacji w instrukcji select. Klauzula WATERMARK dotyczy tylko zapytań dotyczących stanowych danych przesyłania strumieniowego, które obejmują łączenia strumieni i agregację.
Składnia
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
-
Wyrażenie, które zawiera wartość typu
timestamp. Wyrażenie musi być odwołaniem do istniejącej kolumny lub deterministycznej transformacji względem istniejących kolumn. Wyrażenie dodaje kolumnę typu sygnatury czasowej, która służy do śledzenia znaku wodnego. Dodana kolumna jest dostępna do wykonywania zapytań. -
Literał interwału określający dopuszczalne opóźnienie znacznika wodnego. Wartość dodatnia musi być mniejsza niż miesiąc.
Przykłady
-- 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');