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 linha de versão selecionada pela cláusula do WITH VERSION (...) fluxo anexo para o snapshot que está a ser processado.
Esta função está disponível apenas dentro da FROM SNAPSHOT (...) cláusula de um AUTO CDC ... FROM SNAPSHOT fluxo.
Sintaxe
current_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 que a consulta de versão do fluxo anexo, contendo exatamente 1 linha. A linha contém a versão selecionada para a iteração atual de processamento de snapshots.
current_snapshot_version() é avaliada apenas depois de a consulta de versão devolver 1 linha. Se a consulta de versão devolver 0 linhas, o motor não executa a consulta snapshot e termina o processamento do fluxo durante essa atualização do pipeline.
Examples
O fluxo seguinte é usado current_snapshot_version() para ler o ficheiro selecionado pela WITH VERSION (...) cláusula. A versão é uma única STRUCT coluna, pelo que os seus campos são acedidos com notação pontual:
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() está disponível apenas dentro da FROM SNAPSHOT (...) cláusula de um AUTO CDC ... FROM SNAPSHOT fluxo que declara uma WITH VERSION (...) cláusula. 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).