Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Devolve a versão do snapshot mais recentemente confirmado para o fluxo anexo AUTO CDC ... FROM SNAPSHOT . O snapshot comprometido pode vir de uma atualização anterior do pipeline ou de uma iteração anterior da atualização atual.
Esta função está disponível apenas dentro da WITH VERSION (...) cláusula de um AUTO CDC ... FROM SNAPSHOT fluxo.
Sintaxe
last_snapshot_version()
Arguments
Esta função não aceita argumentos.
Returns
Uma relação de coluna única com o mesmo nome e tipo de coluna da consulta de versão do fluxo anexo, contendo 0 ou 1 linhas:
- 1 linha contendo a versão de snapshot mais recentemente confirmada.
- 0 linhas se o fluxo não tiver confirmado um snapshot desde a sua criação inicial ou a atualização completa mais recente.
Após cada snapshot ser confirmado com sucesso, last_snapshot_version() essa versão comprometida é expuesta à avaliação seguinte da consulta de versão, incluindo avaliações dentro da mesma atualização do pipeline. Isto permite que uma atualização selecione e processe várias versões por ordem.
Examples
O fluxo seguinte é usado last_snapshot_version() para encontrar o próximo ficheiro a processar após o último que foi confirmado:
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() está disponível apenas dentro da WITH VERSION (...) cláusula de um AUTO CDC ... FROM SNAPSHOT fluxo. Em qualquer outro lugar, o Spark resolve o nome como uma função ordinária de valores de tabela. Como tal função não está definida, ela aumenta UNRESOLVABLE_TABLE_VALUED_FUNCTION (SQLSTATE 42883).