Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Geeft de versierij terug die door de clausule WITH VERSION (...) van de omsluitende flow is geselecteerd voor de snapshot die wordt verwerkt.
Deze functie is alleen beschikbaar binnen de FROM SNAPSHOT (...) clausule van een AUTO CDC ... FROM SNAPSHOT flow.
Syntax
current_snapshot_version()
Arguments
Deze functie heeft geen argumenten.
Returns
Een enkelkolomrelatie met dezelfde kolomnaam en type als de versiequery van de omsluitende flow, die precies 1 rij bevat. De rij bevat de versie die is geselecteerd voor de huidige snapshot-verwerkingsiteratie.
current_snapshot_version() wordt alleen geƫvalueerd nadat de versiequery 1 rij teruggeeft. Als de versiequery 0 rijen teruggeeft, voert de engine de snapshot-query niet uit en stopt de verwerking van de flow tijdens die pipeline-update.
Examples
De volgende flow gebruikt current_snapshot_version() het bestand dat door de WITH VERSION (...) clausule is geselecteerd. De versie is een enkele STRUCT kolom, dus de velden worden benaderd met puntnotatie:
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);
Fouten
current_snapshot_version() is alleen beschikbaar binnen de FROM SNAPSHOT (...) clausule van een AUTO CDC ... FROM SNAPSHOT flow die een WITH VERSION (...) clausule declareert. Overal elders lost Spark de naam op als een gewone tabelwaardige functie. Omdat zo'n functie niet gedefinieerd is, genereert UNRESOLVABLE_TABLE_VALUED_FUNCTION deze (SQLSTATE 42883).