Categorias:

Funções do sistema (Informações do sistema)

SYSTEM$AUTO_REFRESH_STATUS

Retorna o status de atualização automatizada para uma tabela Iceberg gerenciada externamente.

Nota

Para retornar esse status de atualização para todas as tabelas Apache Iceberg™ gerenciadas externamente aplicáveis para as quais você tem privilégios de acesso, execute o comando SHOW ICEBERG TABLES e veja a coluna auto_refresh_status na saída.

Sintaxe

SYSTEM$AUTO_REFRESH_STATUS('<table_name>')
Copy

Argumentos

'table_name'

O nome da tabela Iceberg para a qual você deseja recuperar o status de atualização automatizada atual.

Se estiver usando o nome totalmente qualificado, coloque o nome inteiro entre aspas simples, incluindo o banco de dados e o esquema. Se o nome da tabela diferenciar maiúsculas de minúsculas ou incluir caracteres especiais ou espaços, você deverá usar aspas duplas. Coloque as aspas duplas dentro das aspas simples, por exemplo, '"Table_Name"'.

Retornos

A função retorna um objeto JSON contendo os seguintes pares nome/valor:

{
  "executionState":"<value>",
  "invalidExecutionStateReason":"<value>",
  "pendingSnapshotCount":"<value>",
  "oldestSnapshotTime":"<value>",
  "currentSnapshotId":"<value>",
  "currentSnapshotSummary":"<value>",
  "lastSnapshotTime":"<value>",
  "lastUpdatedTime":"<value>",
  "currentMetadataFile":"<value>",
  "currentSchemaId":"<value>"
}
Copy

Onde:

executionState

Estado de execução atual do canal que o Snowflake usa para automatizar atualizações de metadados para a tabela.

Valores:

  • RUNNING: A atualização automatizada está sendo executada conforme o esperado. Este status não indica se o Snowflake está processando ativamente mensagens de evento para o canal.

  • STALLED: A atualização automática encontrou um erro e está tentando se recuperar.

  • STOPPED: A atualização automática encontrou um erro irrecuperável e será interrompida a menos que você tome outra ação. Para obter mais informações, consulte Recuperação de erros.

invalidExecutionStateReason

Mensagem de erro associada a um estado de execução STALLED ou STOPPED.

pendingSnapshotCount

Número de instantâneos enfileirados para atualização automatizada.

oldestSnapshotTime

Carimbo de data/hora mais antigo entre os instantâneos enfileirados. O Snowflake define o carimbo de data/hora para um instantâneo quando o instantâneo é adicionado à fila.

currentSnapshotId

ID do instantâneo atual que o Snowflake está rastreando. Isso representa o instantâneo ao qual os dados da tabela atual correspondem.

currentSnapshotSummary

O resumo do instantâneo Iceberg do arquivo metadata.json. NULL se não estiver presente no arquivo de metadados.

lastSnapshotTime

Carimbo de data/hora de criação do instantâneo atual de acordo com os metadados Iceberg. Este carimbo de data/hora corresponde a quando o instantâneo atual foi gerado no catálogo externo.

lastUpdatedTime

Carimbo de data/hora que indica quando o Snowflake processou com sucesso o instantâneo atual. A diferença entre esse valor e lastSnapshotTime indica a latência entre o momento em que os instantâneos são criados no catálogo externo e o momento em que o Snowflake atualiza com sucesso os metadados da tabela.

Para diminuir a latência, ajuste o parâmetro REFRESH_INTERVAL_SECONDS para integração do catálogo associado à tabela.

currentMetadataFile

O caminho completo para o arquivo de metadados atual.

currentSchemaId

ID do esquema atual.

Notas de uso

  • Chamar esta função requer uma função que tenha o privilégio OWNERSHIP na tabela Iceberg.

  • Para tabelas baseadas em Delta, observe o seguinte:

    • No contexto dessa função e da atualização automatizada no Snowflake, o termo “snapshot” refere-se a um commit Delta.

    • A função não retorna um valor para lastSnapshotTime.

Exemplos

Recupere o status de atualização automatizada da tabela my_iceberg_table no esquema db1.schema1:

SELECT SYSTEM$AUTO_REFRESH_STATUS('db1.schema1.my_iceberg_table');
Copy