Categorias:

Information Schema , Funções de tabela

DYNAMIC_TABLE_REFRESH_HISTORY

Esta função de tabela retorna informações sobre cada atualização (concluída e em execução) de tabelas dinâmicas.

Esta função de tabela retorna todas as atualizações que estão em andamento, bem como todas as atualizações que têm uma REFRESH_VERSION dentro de 1 dia a partir da hora atual.

Sintaxe

DYNAMIC_TABLE_REFRESH_HISTORY(
  [ DATA_TIMESTAMP_START => <constant_expr> ]
  [ , DATA_TIMESTAMP_END => <constant_expr> ]
  [ , RESULT_LIMIT => <integer> ]
  [ , NAME => '<string>' ]
  [ , NAME_PREFIX => '<string>' ]
  [ , ERROR_ONLY => { TRUE | FALSE } ]
)
Copy

Argumentos

Todos os argumentos são opcionais. Se nenhum argumento for fornecido, serão retornadas 100 atualizações de todas as tabelas dinâmicas da conta.

DATA_TIMESTAMP_START => constant_expr , . DATA_TIMESTAMP_END => constant_expr

Intervalo de tempo (em formato TIMESTAMP_LTZ) durante o qual ocorreram as atualizações.

  • Se nem uma versão inicial nem uma versão final forem especificadas, o intervalo padrão será o dia anterior.

  • Se uma versão final não for especificada, CURRENT_TIMESTAMP será usada como o fim do intervalo.

  • Se uma versão inicial não for especificada, o intervalo começará 1 dia antes do início do DATE_TIMESTAMP_END.

RESULT_LIMIT => integer

Um número especificando o número máximo de linhas retornadas pela função.

Se o número de linhas correspondentes for maior que este limite, as atualizações que foram concluídas mais recente (ou aquelas que ainda estão em execução) são retornadas até o limite especificado.

Intervalo: 1 a 10000

Padrão: 100.

NAME => string

O nome de uma tabela dinâmica.

Os nomes devem estar entre aspas simples e não diferenciam maiúsculas de minúsculas.

Você pode especificar o nome não qualificado (dynamic_table_name), o nome parcialmente qualificado (schema_name.dynamic_table_name) ou o nome totalmente qualificado (database_name.schema_name.dynamic_table_name).

Para obter mais informações sobre a resolução de nomes de objetos, consulte Resolução de nomes de objetos.

A função retorna as atualizações para esta tabela.

NAME_PREFIX => string

Um prefixo para tabelas dinâmicas.

Os prefixos de nome devem estar entre aspas simples e não diferenciam maiúsculas de minúsculas.

A função retorna atualizações para tabelas com nomes que começam com esse prefixo.

Você pode usar esse argumento para retornar as atualizações para tabelas dinâmicas em um banco de dados ou esquema específico.

ERROR_ONLY => TRUE | FALSE

Quando definida como TRUE, esta função retorna apenas atualizações que falharam ou foram canceladas.

Saída

A função retorna as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

NAME

TEXT

Nome da tabela dinâmica.

SCHEMA_NAME

TEXT

Nome do esquema que contém a tabela dinâmica.

DATABASE_NAME

TEXT

Nome do banco de dados que contém a tabela dinâmica.

STATE

TEXT

Status da atualização da tabela dinâmica. O status pode ser uma das seguintes opções:

  • SCHEDULED: atualização agendada, mas ainda não executada.

  • EXECUTING: atualização em andamento.

  • SUCCEEDED: atualização concluída com sucesso.

  • FAILED: atualização falhou durante a execução.

  • CANCELLED: atualização foi cancelada antes da execução.

  • SKIPPED: indicando que o processo de atualização automatizada não executou a atualização por algum motivo. Por exemplo, porque uma tabela dinâmica de entrada não foi atualizada ou para reduzir a carga para um desempenho consistente.

STATE_CODE

TEXT

Código que representa o estado atual da atualização.

STATE_MESSAGE

TEXT

Descrição do estado atual da atualização.

QUERY_ID

TEXT

ID da instrução SQL que produziu os resultados para a tabela dinâmica.

DATA_TIMESTAMP

TIMESTAMP_LTZ

Carimbo de data/hora transacional quando a atualização foi avaliada. (Isso pode ocorrer um pouco antes da hora real da atualização.) Todos os dados, em objetos base, que chegaram antes desse carimbo de data/hora estão atualmente incluídos na tabela dinâmica.

REFRESH_START_TIME

TIMESTAMP_LTZ

Hora em que o trabalho de atualização foi iniciado.

REFRESH_END_TIME

TIMESTAMP_LTZ

Hora em que a atualização foi concluída.

COMPLETION_TARGET

TIMESTAMP_LTZ

Hora em que esta atualização deve ser concluída para manter o atraso sob o parâmetro TARGET_LAG para a tabela dinâmica. Igual ao anterior REFRESH_VERSION + TARGET_LAG.

QUALIFIED_NAME

TEXT

Nome totalmente qualificado da tabela dinâmica conforme aparece no gráfico de tabelas dinâmicas. Você pode usar isso para juntar a saída com a saída da função DYNAMIC_TABLE_GRAPH_HISTORY.

LAST_COMPLETED_DEPENDENCY

OBJECT

Contém as seguintes propriedades:

  • qualified_name: o nome qualificado da última dependência a ficar disponível.

  • data_timestamp: a versão de atualização dessa dependência.

STATISTICS

OBJECT

Contém as seguintes propriedades:

  • numInsertedRows: o número de linhas inseridas.

  • numDeletedRows: o número de linhas que foram eliminadas.

  • numCopiedRows: o número de linhas que foram copiadas inalteradas.

  • numAddedPartitions: o número de partições adicionadas.

  • numRemovedPartitions: o número de partições removidas.

    Por exemplo: se uma instrução UPDATE atualizar 1 linha em uma partição com 10 linhas. Em seguida, as métricas acima mostram 1 linha inserida, 1 excluída e 9 copiadas. Além disso, 1 partição é removida e 1 partição adicionada.

REFRESH_ACTION

TEXT

Uma das opções:

  • NO_DATA - sem novos dados nas tabelas de base. Não se aplica à atualização inicial de tabelas dinâmicas recém-criadas, independentemente de as tabelas base terem ou não dados.

  • REINITIALIZE - a tabela de base foi alterada ou a tabela de origem de uma tabela dinâmica clonada foi atualizada durante a clonagem.

  • FULL - Atualização completa, porque a tabela dinâmica contém elementos de consulta que não são incrementáveis (consulte SHOW DYNAMIC TABLE motivo_modo_atualização) ou porque a atualização completa era mais barata que a atualização incremental.

  • INCREMENTAL - atualização incremental normal.

REFRESH_TRIGGER

TEXT

Uma das opções:

  • SCHEDULED - atualização normal em segundo plano para atingir a meta de atraso ou a meta de atraso a jusante.

  • MANUAL- usuário/tarefa usada ALTER DYNAMIC TABLE <nome> REFRESH

Notas de uso

  • Ao chamar uma função de tabela do Information Schema, a sessão deve ter um esquema INFORMATION_SCHEMA em uso ou o nome da função deve ser totalmente qualificado. Para obter mais detalhes, consulte Snowflake Information Schema.

Exemplos

Recupere as atualizações que falharam ou foram canceladas:

SELECT
  name,
  state,
  state_code,
  state_message,
  query_id,
  data_timestamp,
  refresh_start_time,
  refresh_end_time
FROM
  TABLE (
    INFORMATION_SCHEMA.DYNAMIC_TABLE_REFRESH_HISTORY (
      NAME_PREFIX => 'MYDB.MYSCHEMA.', ERROR_ONLY => TRUE
    )
  )
ORDER BY
  name,
  data_timestamp;
Copy