fungsi current_snapshot_version

Mengembalikan baris versi yang dipilih oleh klausa alur WITH VERSION (...) yang melampirkan untuk snapshot yang sedang diproses.

Fungsi ini hanya tersedia di dalam FROM SNAPSHOT (...) klausa aliran AUTO CDC ... FROM SNAPSHOT .

Syntax

current_snapshot_version()

Argumen

Fungsi ini tidak membutuhkan argumen.

Returns

Relasi satu kolom dengan nama dan tipe kolom yang sama dengan kueri versi alur yang melampirkan, berisi tepat 1 baris. Baris berisi versi yang dipilih untuk iterasi pemrosesan snapshot saat ini.

current_snapshot_version() dievaluasi hanya setelah kueri versi mengembalikan 1 baris. Jika kueri versi mengembalikan 0 baris, mesin tidak menjalankan kueri snapshot, dan pemrosesan untuk alur tersebut dihentikan selama pembaruan pipeline tersebut.

Examples

Aliran berikut digunakan current_snapshot_version() untuk membaca file yang dipilih oleh klausa tersebut WITH VERSION (...) . Versinya berupa kolom tunggal STRUCT , sehingga bidangnya diakses dengan notasi titik:

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() hanya tersedia di dalam FROM SNAPSHOT (...) klausa dari sebuah AUTO CDC ... FROM SNAPSHOT aliran yang mendeklarasikan klausa WITH VERSION (...) . Di tempat lain, Spark menyelesaikan nama tersebut sebagai fungsi bernilai tabel biasa. Karena tidak ada fungsi seperti itu yang didefinisikan, maka ia menaikkan UNRESOLVABLE_TABLE_VALUED_FUNCTION (SQLSTATE 42883).