Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Funzione
Restituisce la versione dello snapshot più recentemente confermato per il flusso che contene AUTO CDC ... FROM SNAPSHOT . L'istantaneo commesso può provenire da un aggiornamento precedente della pipeline o da un'iterazione precedente dell'aggiornamento corrente.
Questa funzione è disponibile solo all'interno della WITH VERSION (...) clausola di un AUTO CDC ... FROM SNAPSHOT flow.
Syntax
last_snapshot_version()
Argomenti
Questa funzione non accetta argomenti.
Returns
Una relazione a colonna singola con lo stesso nome e tipo di colonna della query di versione del flusso che lo allega, contenente 0 o 1 righe:
- 1 riga contenente la versione snapshot più recentemente confermata.
- 0 righe se il flusso non ha effettuato un acquisto di snapshot dalla sua creazione iniziale o dall'ultimo aggiornamento completo.
Dopo che ogni snapshot effettua un commit con successo, last_snapshot_version() quella versione di commit viene esposta alla valutazione successiva della query di versione, incluse le valutazioni all'interno della stessa pipeline update. Questo permette a un aggiornamento di selezionare ed elaborare più versioni in ordine.
Esempi
Il seguente flusso viene utilizzato last_snapshot_version() per trovare il file successivo da elaborare dopo l'ultimo che ha effettuato il commit:
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() è disponibile solo all'interno della WITH VERSION (...) clausola di un AUTO CDC ... FROM SNAPSHOT flusso. Ovunque altrove, Spark risolve il nome come una funzione ordinaria a valori di tabella. Poiché nessuna funzione del genere è definita, essa aumenta UNRESOLVABLE_TABLE_VALUED_FUNCTION (SQLSTATE 42883).