Categorias:

Funções de métricas de dados

FRESHNESS (função de métricas de dados do sistema)

Retorna quanto tempo em segundos se passou desde a última modificação de uma tabela.

Quando um argumento de coluna é especificado, o período é calculado comparando a execução atual da função com o valor máximo de uma coluna de carimbo de data/hora. Se o horário agendado para executar a função for diferente do horário em que ela realmente foi executada, o horário agendado será usado para a comparação.

Quando nenhuma coluna é especificada, o período é calculado comparando a execução atual da função com a última vez que um comando DML atuou na tabela. Se o horário agendado para executar a função for diferente do horário em que ela realmente foi executada, o horário agendado será usado para a comparação.

This topic provides the syntax for calling the function directly. To learn how to associate the function with a table or view so it runs at regular intervals, see Associe uma DMF para automatizar as verificações de qualidade dos dados.

Sintaxe

SNOWFLAKE.CORE.FRESHNESS( [ <query> ] )
Copy

Argumentos

query

Se especificado, a consulta deve projetar uma única coluna de carimbo de data/hora.

If you don’t want to specify a column, you must associate the function with a table rather than call it directly.

Tipos de dados permitidos

A coluna projetada pela query deve ter um dos seguintes tipos de dados:

  • DATE

  • TIMESTAMP_LTZ

  • TIMESTAMP_TZ

Retornos

A função retorna um valor escalar com um tipo de dados NUMBER.

Notas de uso

  • Especifique um argumento de coluna se quiser associar essa função a uma exibição ou tabela externa.

  • This function can be called directly only if you specify a query that projects a timestamp column. If you want to associate the function with a table or view so it runs at regular intervals with or without a column argument, see Associe uma DMF para automatizar as verificações de qualidade dos dados.

Exemplo

Associe a função à tabela t1 para determinar quanto tempo se passou desde a última operação DML na tabela:

ALTER TABLE t1
  ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.FRESHNESS on ();
Copy

Chame a função diretamente para determinar a atualização dos dados, 300 segundos ou 5 minutos, na tabela, medindo a coluna TIMESTAMP:

SELECT SNOWFLAKE.CORE.FRESHNESS(
  SELECT
    timestamp
  FROM hr.tables.empl_info
) < 300;
Copy
+---------------------------------------------------------------------+
| SNOWFLAKE.CORE.FRESHNESS(SELECT timestamp FROM hr.tables.empl_info) |
+---------------------------------------------------------------------+
| True                                                                |
+---------------------------------------------------------------------+