Categorias:

Funções de métricas de dados

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

Retorna o carimbo de data/hora para quando uma DMF está agendada para ser executada ou o carimbo de data/hora atual se a função for chamada manualmente.

Você pode usar esta DMF para definir métricas personalizadas para medir se seus dados estão atualizados ou para definir métricas incrementais em conjunto com DMFs que já existem.

Sintaxe

SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME()
Copy

Argumentos

Nenhum.

Retornos

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

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 privilégios nesta tabela à 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 com a tabela referenciada em query.

  • Conceda os privilégios na tabela acima à função de proprietário da tabela. Além disso, conceda os seguintes privilégios à função de proprietário da tabela:

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

Notas de uso

Chamar esta função manualmente em uma consulta SELECT retorna o mesmo valor que a função CURRENT_TIMESTAMP.

Exemplo

Crie uma função de métrica de dados personalizada para determinar a atualização dos dados em uma tabela na última hora:

CREATE OR REPLACE DATA METRIC FUNCTION data_freshness_hour(
  ARG_T TABLE (ARG_C TIMESTAMP_LTZ))
  RETURNS NUMBER AS
  'SELECT TIMEDIFF(
     minute,
     MAX(ARG_C),
     SNOWFLAKE.CORE.DATA_METRIC_SCHEDULED_TIME())
   FROM ARG_T';
Copy

Chame a função de métrica de dados manualmente:

SELECT data_freshness_hour(SELECT last_updated FROM hr.tables.empl_info) < 60;
Copy

A instrução retorna True se não houver atualizações na tabela na última hora (60 minutos).

A declaração retorna False se houve atualizações na tabela que ocorreram há mais de uma hora.