Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 12.0 ve üzeri
Select ifadesindeki ilişkiye bir 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
Parametre
-
timestamptüründe bir değer sağlayan bir ifade. İfade, ya mevcut sütuna yönelik bir başvuru ya da mevcut sütunlara karşı deterministik bir dönüşüm olmalıdır. İfade, işaretçiyi izlemek için kullanılan zaman damgası türünde bir sütun ekler. Eklenen sütun sorgulanabilir. -
Filigranın gecikme eşiğini tanımlayan bir zaman aralığı değeri. Bir aydan küçük pozitif bir değer olmalıdır.
Yaygın hata koşulları
- CANNOT_ASSIGN_EVENT_TIME_COLUMN_WITHOUT_WATERMARK
- CANNOT_USE_MULTI_ALIASES_IN_WATERMARK_CLAUSE
- SU_KAĞIDI_CLAUSE_IÇIN_AÇIK_AD_GEREKIR
Ö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');