Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vrací verzi nejnověji zavázaného snapshotu pro uzavřený AUTO CDC ... FROM SNAPSHOT tok. Závazný snímek může pocházet z předchozí aktualizace pipeline nebo z dřívější iterace aktuální aktualizace.
Tato funkce je dostupná pouze uvnitř klauzule WITH VERSION (...)AUTO CDC ... FROM SNAPSHOT toku.
Syntax
last_snapshot_version()
Arguments
Tato funkce nepřijímá žádné argumenty.
Returns
Jednosloupcová relace se stejným názvem sloupce a typem jako dotaz na verzi obklopujícího toku, obsahující 0 nebo 1 řádky:
- 1 řádek obsahující nejnovější popsanou verzi snapshotu.
- 0 řádků, pokud tok neprovedl snapshot od svého původního vytvoření nebo poslední plné obnovy.
Po úspěšném commitu každého snapshotu last_snapshot_version() je tato zadaná verze vystavena dalšímu vyhodnocení dotazu na verzi, včetně vyhodnocení v rámci stejné aktualizace pipeline. To umožňuje jedné aktualizaci vybrat a zpracovat více verzí v pořadí.
Examples
Následující postup slouží last_snapshot_version() k nalezení dalšího souboru ke zpracování po posledním, který commitoval:
CREATE FLOW orders_cdc
AS AUTO CDC INTO orders
FROM SNAPSHOT (...)
WITH VERSION (
SELECT struct(modification_time, path) AS version
FROM list_files('/Volumes/catalog/schema/landing/orders/')
WHERE (
NOT EXISTS (SELECT 1 FROM last_snapshot_version())
OR struct(modification_time, path) > (SELECT version FROM last_snapshot_version())
)
ORDER BY modification_time, path
LIMIT 1
)
KEYS (order_id);
Errors
last_snapshot_version() je dostupný pouze uvnitř klauzule WITH VERSION (...)AUTO CDC ... FROM SNAPSHOT toku. Kdekoli jinde Spark vyřeší název jako obyčejnou tabulkovou funkci. Protože taková funkce není definována, zvyšuje (UNRESOLVABLE_TABLE_VALUED_FUNCTIONSQLSTATE 42883).