current_snapshot_version fonksiyon

İşlenen anlık görüntü için kapalı akışın WITH VERSION (...) maddesi tarafından seçilen sürüm satırını döndürür.

Bu fonksiyon yalnızca bir AUTO CDC ... FROM SNAPSHOT akışın FROM SNAPSHOT (...) cümlesi içinde kullanılabilir.

Syntax

current_snapshot_version()

Arguments

Bu işlev bağımsız değişken almaz.

Returns

Aynı sütun adı ve türüne sahip, tam olarak 1 satır içeren tek sütunlu bir ilişki. Satır, mevcut anlık görüntü işleme yinelemesi için seçilen sürümü içerir.

current_snapshot_version() yalnızca sürüm sorgusu 1 satır döndürdükten sonra değerlendirilir. Sürüm sorgusu 0 satır dönerse, motor anlık soruyu çalıştırmaz ve akış için işleme işlemi o boru hattı güncellemesi sırasında sonlandırılır.

Examples

Aşağıdaki akış, madde WITH VERSION (...) tarafından seçilen dosyayı okumak için kullanılırcurrent_snapshot_version(). Versiyon tek STRUCT bir sütundur, bu yüzden alanlarına nokta göstergesi ile erişilir:

CREATE FLOW orders_cdc
  AS AUTO CDC INTO orders
  FROM SNAPSHOT (
    SELECT *
    FROM read_files('/Volumes/catalog/schema/landing/orders/', format => 'json')
    WHERE _metadata.file_path = (SELECT version.path FROM current_snapshot_version())
  )
  WITH VERSION (...)
  KEYS (order_id);

Errors

current_snapshot_version()yalnızca bir WITH VERSION (...) cümle ilan eden bir AUTO CDC ... FROM SNAPSHOT akışın cümlesi içinde FROM SNAPSHOT (...) bulunabilir. Başka herhangi bir yerde Spark, ismi sıradan bir tablo değerli fonksiyon olarak çözer. Böyle bir fonksiyon tanımlanmadığı için, (SQLSTATE 42883) yükseltiyor UNRESOLVABLE_TABLE_VALUED_FUNCTION .