- Categorias:
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()
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:
IMPORTEDPRIVILEGES no banco de dados SNOWFLAKE. 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.
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';
Chame a função de métrica de dados manualmente:
SELECT data_freshness_hour(SELECT last_updated FROM hr.tables.empl_info) < 60;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.