Categorias:

Funções de métricas de dados

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>)
Copy

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;
Copy
+---------------------------------------------------------------------+
| SNOWFLAKE.CORE.FRESHNESS(SELECT timestamp FROM hr.tables.empl_info) |
+---------------------------------------------------------------------+
| True                                                                |
+---------------------------------------------------------------------+