- Categorias:
FRESHNESS (função de métricas de dados do sistema)¶
Retorna a diferença em segundos entre o valor máximo de uma coluna do carimbo de data/hora e o horário agendado quando a função de métrica de dados é executada.
Este tópico fornece a sintaxe para chamar a função diretamente. Para saber como associar a função a uma tabela ou visualização para que seja executada em intervalos regulares, consulte Associe uma DMF para automatizar as verificações de qualidade dos dados.
Sintaxe¶
SNOWFLAKE.CORE.FRESHNESS(<query>)
Argumentos¶
query
Especifica uma consulta SQL que projeta uma única coluna.
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.
Requisitos de controle de acesso¶
Para usar uma DMF de sistema, escolha uma das seguintes abordagens de controle de acesso:
Conceda a função de banco de dados DATA_METRIC_USER à função do proprietário da tabela, que é a função com o privilégio OWNERSHIP na tabela. Esta função de banco de dados tem o privilégio USAGE sobre o esquema SNOWFLAKE.CORE e o privilégio USAGE em todas as DMFs do sistema no esquema SNOWFLAKE.CORE.
Além disso, conceda os seguintes privilégios à função de proprietário da tabela:
Privilégio
Objeto
Notas
EXECUTE DATA METRIC FUNCTION
Conta
Este privilégio permite que você controle quais funções têm acesso aos recursos de computação sem servidor para chamar a DMF do sistema.
USAGE
Banco de dados, esquema
Esses objetos são o banco de dados e o esquema que contêm a tabela. tabela referenciada com a qual o DMF está associado.
Conceda IMPORTED PRIVILEGES no banco de dados SNOWFLAKE à função de proprietário da tabela. Para obter mais informações, consulte Habilitando outras funções para usar esquemas no banco de dados SNOWFLAKE.
Use a função ACCOUNTADMIN.
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Exemplo¶
Determine o nível de 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 |
+---------------------------------------------------------------------+