WATERMARK yan tümcesi

Şunlar için geçerlidir:check marked yes Databricks SQL check marked yes Databricks Runtime 12.0 ve üzeri

Select deyimindeki bir ilişkiye filigran ekler. WATERMARK yan tümcesi yalnızca akış akışı birleştirmeleri ve toplamayı içeren durum bilgisi olan akış verilerindeki sorgular için geçerlidir.

Sözdizimi

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

Parametreler

  • named_expression

    türünde timestampbir değer sağlayan ifade. İfade, mevcut sütuna yönelik bir başvuru veya mevcut sütunlarda belirleyici bir dönüşüm olmalıdır. İfade, filigranı izlemek için kullanılan zaman damgası türünde bir sütun ekler. Eklenen sütun sorgulanabilir.

  • interval_clause

    Filigranın gecikme eşiğini tanımlayan bir aralık değişmez değeri. Bir aydan küçük pozitif bir değer olmalıdır.

Örnekler

-- 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');