current_snapshot_version függvény

Visszaadja a feldolgozásra vonatkozó verziósort, amelyet a záró folyamat WITH VERSION (...) záradéka választ a feldolgozott pillanatképhez.

Ez a függvény csak az áramlás záradékán FROM SNAPSHOT (...)AUTO CDC ... FROM SNAPSHOT belül érhető el.

Syntax

current_snapshot_version()

Arguments

Ez a függvény nem vesz fel argumentumokat.

Returns

Egy egyoszlopos reláció, amelynek oszlopneve és típusa ugyanaz, mint a záró folyamat verziós lekérdezése, pontosan 1 sort tartalmaz. A sor tartalmazza a jelenlegi snapshot-feldolgozási iterációhoz kiválasztott verziót.

current_snapshot_version() csak akkor értékelik, ha a verziós lekérdezés 1 sort ad vissza. Ha a verziós lekérdezés 0 sort ad vissza, a motor nem futtatja a snapshot lekérdezést, és a folyamat feldolgozását a pipeline frissítése alatt megszünteti.

Examples

A következő folyamat current_snapshot_version() olvassa fel a klauzula által kiválasztott WITH VERSION (...) fájlt. A verzió egyetlen STRUCT oszlopból áll, így a mezői pontjelöléssel érhető el:

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() csak FROM SNAPSHOT (...) egy olyan folyamatban található klusztul AUTO CDC ... FROM SNAPSHOT belül érhető el, amely kihirdeti a WITH VERSION (...) záradékot. Máshol a Spark a nevet egy átlagos táblázat-értékű függvényként oldja fel. Mivel nincs ilyen függvény definiálva, emeli UNRESOLVABLE_TABLE_VALUED_FUNCTION (SQLSTATE 42883).