Categorias:

Information Schema , Funções de tabela

CORTEX_SEARCH_REFRESH_HISTORY

Esta função de tabela retorna informações sobre cada atualização (concluída e em andamento) dos Cortex Search Services.

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 DATA_TIMESTAMP dentro de 7 dias a partir da hora atual.

Sintaxe

CORTEX_SEARCH_REFRESH_HISTORY(
  [ NAME => '<string>' ]
  [ , DATA_TIMESTAMP_START => <constant_expr> ]
  [ , DATA_TIMESTAMP_END => <constant_expr> ]
  [ , RESULT_LIMIT => <integer> ]
)
Copy

Argumentos

Todos os argumentos são opcionais. Se nenhum argumento for fornecido, serão retornadas 100 atualizações de todos os Cortex Search Services na conta.

NAME => string

O nome de um serviço do Cortex Search.

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

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

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

A função retorna as atualizações para este serviço.

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 um horário de início nem um horário de término forem especificados, o intervalo padrão será o dia anterior.

  • Se um horário de término não for especificado, CURRENT_TIMESTAMP será usado como o fim do intervalo.

  • Se um horário de início não for especificado, o intervalo começará 1 dia antes do início de DATA_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.

Para aplicar um filtro aos resultados, especifique também um valor limite RESULT_LIMIT suficientemente grande para que o filtro seja aplicado a todos os Cortex Search Services.

Intervalo: 1 a 10000

Padrão: 100.

Saída

A função retorna as seguintes colunas.

Nome da coluna

Tipo de dados

Descrição

NAME

TEXT

Nome do Cortex Search Service.

SCHEMA_NAME

TEXT

O nome do esquema que contém o Cortex Search Service.

DATABASE_NAME

TEXT

O nome do banco de dados que contém o Cortex Search Service.

STATE

TEXT

Status da atualização do Cortex Search Service. O status pode ser uma das seguintes opções:

  • EXECUTING: atualização em andamento.

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

  • FAILED: atualização com falha durante a execução.

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

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 incluídos no Cortex Search Service.

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.

INDEX_PREPROCESSING_DURATION

NUMBER

Duração da fase de pré-processamento do índice em milissegundos.

INDEX_PREPROCESSING_QUERY_ID

TEXT

ID da consulta que realizou o pré-processamento do índice.

INDEX_PREPROCESSING_STATISTICS

OBJECT

Contém as seguintes propriedades para pré-processamento de índice:

  • compilationTimeMs: tempo gasto na compilação da consulta em milissegundos.

  • executionTimeMs: tempo gasto na execução da consulta em milissegundos.

  • queuedTimeMs: tempo gasto na fila antes da execução em milissegundos.

  • 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.

INDEXING_DURATION

NUMBER

Duração da fase de indexação em milissegundos.

INDEXING_QUERY_ID

TEXT

ID da consulta que realizou a indexação.

REFRESH_ACTION

TEXT

Uma das opções:

  • NO_DATA - sem novos dados nas tabelas de base.

  • FULL – atualização completa do Cortex Search Service.

  • INCREMENTAL – atualização incremental do Cortex Search Service.

REFRESH_TRIGGER

TEXT

Uma das opções:

  • SCHEDULED – atualização normal em segundo plano para manter o serviço atualizado.

  • MANUAL – atualização acionada manualmente pelo usuário usando ALTER CORTEX SEARCH SERVICE.

  • CREATION – atualização realizada durante a instrução DDL de criação.

TARGET_LAG_SEC

NUMBER

Descreve o valor da meta de atraso para o Cortex Search Service no momento em que ocorreu a atualização.

WAREHOUSE

TEXT

Nome do warehouse usado para a operação de atualização.

ERROR

TEXT

Mensagem de erro se a atualização tiver falhado; caso contrário NULL.

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

Encontrar atualizações do Cortex Search Service com falha na semana passada:

SELECT
  data_timestamp,
  database_name,
  schema_name,
  name,
  state,
  error,
  refresh_trigger
FROM
  TABLE (
    INFORMATION_SCHEMA.CORTEX_SEARCH_REFRESH_HISTORY (
      DATA_TIMESTAMP_START => DATEADD(WEEK, -1, CURRENT_TIMESTAMP())
    )
  )
ORDER BY
  data_timestamp DESC
LIMIT 10;
Copy

Encontrar atualizações manuais recentes para um Cortex Search Service específico:

SELECT
  data_timestamp,
  refresh_start_time,
  refresh_end_time,
  refresh_action,
  state
FROM
  TABLE (
    INFORMATION_SCHEMA.CORTEX_SEARCH_REFRESH_HISTORY (
      NAME => 'MYSVC',
      DATA_TIMESTAMP_START => DATEADD(DAY, -7, CURRENT_TIMESTAMP()),
      RESULT_LIMIT => 20
    )
  )
WHERE
  refresh_trigger = 'MANUAL'
ORDER BY
  data_timestamp DESC;
Copy

Analisar o desempenho da atualização de um Cortex Search Service:

SELECT
  name,
  data_timestamp,
  index_preprocessing_duration,
  indexing_duration,
  TIMEDIFF(SECOND, refresh_start_time, refresh_end_time) AS total_refresh_duration_sec,
  index_preprocessing_statistics:numInsertedRows AS rows_processed
FROM
  TABLE (
    INFORMATION_SCHEMA.CORTEX_SEARCH_REFRESH_HISTORY (
      NAME => 'MYSVC',
      DATA_TIMESTAMP_START => DATEADD(DAY, -30, CURRENT_TIMESTAMP())
    )
  )
WHERE
  state = 'SUCCEEDED'
ORDER BY
  data_timestamp DESC;
Copy