- Categorias:
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> ] )
Argumentos¶
querySe 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 ();
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;
+---------------------------------------------------------------------+
| SNOWFLAKE.CORE.FRESHNESS(SELECT timestamp FROM hr.tables.empl_info) |
+---------------------------------------------------------------------+
| True |
+---------------------------------------------------------------------+