Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zwraca wersję ostatnio zadeklarowanego migawki dla przepływu zamknięcia AUTO CDC ... FROM SNAPSHOT . Zatwierdzony migawka może pochodzić z poprzedniej aktualizacji pipeline lub z wcześniejszej wersji aktualnej aktualizacji.
Funkcja ta jest dostępna tylko wewnątrz klauzuli WITH VERSION (...) przepływu AUTO CDC ... FROM SNAPSHOT .
Składnia
last_snapshot_version()
Arguments
Ta funkcja nie przyjmuje żadnych argumentów.
Returns
Relacja jednokolumnowa o tej samej nazwie kolumny i typie co zapytanie wersyjne przepływu otaczającego, zawierająca 0 lub 1 wiersze:
- 1 wiersz zawierający najnowszą wersję snapshot.
- 0 wierszy, jeśli flow nie zatwierdził snapshotu od momentu utworzenia lub ostatniego pełnego odświeżenia.
Po pomyślnym zatwierdzeniu każdego snapshota, last_snapshot_version() ta zadeklarowana wersja jest wystawiona na kolejną ocenę zapytania wersyjnego, w tym oceny w ramach tej samej aktualizacji pipeline. Pozwala to jednej aktualizacji wybrać i przetworzyć wiele wersji w kolejności.
Examples
Następujący przebieg służy last_snapshot_version() do znalezienia kolejnego pliku do przetworzenia po ostatnim, który zatwierdził tę decyzję:
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() jest dostępna tylko wewnątrz klauzuli WITH VERSION (...)AUTO CDC ... FROM SNAPSHOT przepływu. W innych miejscach Spark rozwiązuje nazwę jako zwykłą funkcję tabelową. Ponieważ taka funkcja nie jest zdefiniowana, podnosi (UNRESOLVABLE_TABLE_VALUED_FUNCTIONSQLSTATE 42883).