- 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¶
Associar e executar um DMF do sistema requer o privilégio USAGE no DMF do sistema. Você pode conceder a função de banco de dados SNOWFLAKE.DATA_METRIC_USER para fornecer aos usuários o privilégio USAGE em todos os DMFs do sistema. Para obter mais informações, consulte Concessão do privilégio USAGE em DMFs do sistema.
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
Truese não houver atualizações na tabela na última hora (60 minutos).A declaração retorna
Falsese houve atualizações na tabela que ocorreram há mais de uma hora.