Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
funktion
Returnerar versionsraden som valts av den bifogande flödesklausulen WITH VERSION (...) för den snapshot som bearbetas.
Denna funktion är endast tillgänglig inuti FROM SNAPSHOT (...) satsen i ett AUTO CDC ... FROM SNAPSHOT flöde.
Syntax
current_snapshot_version()
Arguments
Den här funktionen tar inga argument.
Returns
En enkolumnsrelation med samma kolumnnamn och typ som den bifogande flödets versionsfråga, som innehåller exakt 1 rad. Raden innehåller versionen som valts för den aktuella snapshot-bearbetningsiterationen.
current_snapshot_version() utvärderas endast efter att versionsfrågan returnerar 1 rad. Om versionsfrågan returnerar 0 rader kör inte motorn snapshot-frågan, och den avslutar bearbetningen av flödet under pipelineuppdateringen.
Examples
Följande flöde används current_snapshot_version() för att läsa filen som valts av klausulen WITH VERSION (...) . Versionen är en enda STRUCT kolumn, så dess fält nås med punktnotation:
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() är endast tillgänglig inuti klausulen FROM SNAPSHOT (...) i ett AUTO CDC ... FROM SNAPSHOT flöde som deklarerar en WITH VERSION (...) klausul. Var som helst annars löser Spark namnet som en vanlig tabellvärd funktion. Eftersom ingen sådan funktion är definierad, höjer UNRESOLVABLE_TABLE_VALUED_FUNCTION den (SQLSTATE 42883).