Categorias:

Information Schema , Funções de tabela

CURRENT_TASK_GRAPHS

Retorna o status de uma execução de gráfico que está atualmente programada ou em execução. Um gráfico é atualmente definido como uma única tarefa programada ou um DAG de tarefas compostas por uma tarefa raiz programada e uma ou mais tarefas filho (isto é, tarefas que têm uma tarefa predecessora definida). Para os propósitos desta função, tarefa raiz refere-se à tarefa única programada ou à tarefa raiz em um DAG.

Esta função retorna detalhes para execuções de gráficos que estão atualmente em execução ou que estão programadas para serem executadas nos próximos 8 dias. Para recuperar os detalhes das execuções do gráfico concluídas nos últimos 60 minutos, consulte a função de tabela COMPLETE_TASK_GRAPHS.

A função retorna os detalhes da execução do gráfico para toda sua conta Snowflake ou uma tarefa raiz especificada.

Sintaxe

CURRENT_TASK_GRAPHS(
      [ RESULT_LIMIT => <integer> ]
      [, ROOT_TASK_NAME => '<string>' ] )
Copy

Argumentos

Todos os argumentos são opcionais.

RESULT_LIMIT => integer

Um número especificando o número máximo de linhas retornadas pela função. Note que os resultados são devolvidos em ordem decrescente de SCHEDULED_TIME. Se o número de linhas correspondentes for maior do que o limite de resultados, as execuções do gráfico com o carimbo de data/hora mais recente programado serão devolvidas, até o limite especificado.

Intervalo: 1 a 10000

Padrão: 1000

ROOT_TASK_NAME => string

Uma cadeia de caracteres que não diferencia maiúsculas e minúsculas, especificando o nome da tarefa raiz. Somente nomes de tarefas não qualificadas são suportados. Somente as execuções de gráfico para a tarefa especificada são retornadas. Observe que se várias tarefas tiverem o mesmo nome, a função retorna a execução de gráfico para cada uma dessas tarefas.

Notas de uso

  • Retorna resultados somente para a função ACCOUNTADMIN, o proprietário da tarefa (ou seja, a função com o privilégio OWNERSHIP para a tarefa) ou uma função com o privilégio global MONITOR EXECUTION. Observe que a menos que uma função com o privilégio MONITOR EXECUTION também tenha o privilégio USAGE no banco de dados e esquema que armazena a tarefa, os valores DATABASE_NAME e SCHEMA_NAME na saída serão NULL.

  • Quando a função CURRENT_TASK_GRAPHS é consultada, seu nome de tarefa e os argumentos de limite de resultado são aplicados primeiro, seguido da cláusula WHERE e LIMIT, respectivamente, se especificado. Além disso, a função CURRENT_TASK_GRAPHS retorna registros em ordem decrescente SCHEDULED_TIME.

    Na prática, se você tiver muitos gráficos de tarefas rodando em sua conta, os resultados retornados pela função poderiam incluir apenas tarefas programadas, especialmente se o valor RESULT_LIMIT for relativamente baixo.

  • Ao chamar uma função de tabela do Information Schema, a sessão deve ter um esquema INFORMATION_SCHEMA em uso ou o nome da função deve ser totalmente qualificado. Para obter mais detalhes, consulte Snowflake Information Schema.

Saída

A função retorna as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

ROOT_TASK_NAME

TEXT

Nome da tarefa raiz.

DATABASE_NAME

TEXT

Nome do banco de dados que contém o gráfico.

SCHEMA_NAME

TEXT

Nome do esquema que contém o gráfico.

STATE

TEXT

Estado da execução do gráfico:

  • SCHEDULED: a tarefa raiz é programada em um momento futuro.

  • EXECUTING: pelo menos uma execução de tarefa no gráfico ainda está sendo executada, ou a tarefa raiz foi executada com sucesso até a conclusão e uma ou mais tarefas filho estão programadas.

Observe que se o estado da execução da tarefa raiz for SKIPPED, a função não retorna uma linha para a execução.

SCHEDULED_FROM

TEXT

Uma das opções:

  • SCHEDULE: a tarefa foi agendada para execução normalmente, conforme descrito nas cláusulas SCHEDULE ou AFTER de CREATE TASK.

  • EXECUTE_TASK: a tarefa foi agendada para execução usando EXECUTE TASK.

  • MANUAL RETRY: a tarefa foi agendada para execução usando EXECUTE TASK … RETRY LAST.

FIRST_ERROR_TASK_NAME

TEXT

Nome da primeira tarefa no gráfico que retornou um erro; retorna NULL se nenhuma tarefa produziu um erro.

FIRST_ERROR_CODE

NUMBER

Código de erro do erro retornado pela tarefa nomeada em FIRST_ERROR_TASK_NAME; retorna NULL se nenhuma tarefa produziu um erro.

FIRST_ERROR_MESSAGE

TEXT

Mensagem de erro do erro retornado pela tarefa nomeada em FIRST_ERROR_TASK_NAME; retorna NULL se nenhuma tarefa produziu um erro.

SCHEDULED_TIME

TIMESTAMP_LTZ

Hora em que a tarefa raiz está/estava programada para começar a execução. Note que fazemos o melhor para assegurar uma precisão absoluta, mas só garantimos que as tarefas não sejam executadas antes do horário programado.

QUERY_START_TIME

TIMESTAMP_LTZ

Horário em que a consulta na definição da tarefa raiz começou a ser executada. Este carimbo de data/hora se alinha à hora de início da consulta retornada por QUERY_HISTORY.

NEXT_SCHEDULED_TIME

TIMESTAMP_LTZ

Hora em que a tarefa autônoma ou raiz (em um DAG) é a próxima programada para começar a funcionar, assumindo que a execução atual da tarefa autônoma ou DAG iniciada na hora SCHEDULED_TIME é concluída a tempo.

ROOT_TASK_ID

TEXT

Identificador exclusivo para a tarefa raiz em um DAG. Esta ID corresponde ao valor da coluna ID na saída SHOW TASKS para a mesma tarefa.

GRAPH_VERSION

NUMBER

Número inteiro que identifica a versão do DAG que foi executado ou que está programado para ser executado.

RUN_ID

NUMBER

Hora em que a tarefa autônoma ou raiz em um DAG está/estava originalmente programada para começar a execução. O formato é a hora da época (em milissegundos). . . Horário programado original refere-se a raros casos em que o sistema pode reprogramar a mesma tarefa para ser executada em um horário diferente a fim de tentar novamente ou reequilibrar a carga. Se isso acontecer, RUN_ID mostra o tempo de execução original programado e SCHEDULED_TIME mostra o tempo de execução reprogramado. . . Observe que RUN_ID pode não ser um identificador exclusivo para a tarefa/gráfico atual executado antes da nova tentativa. Você pode usar a coluna GRAPH_RUN_GROUP_ID como substituto de RUN_ID.

ATTEMPT_NUMBER

NUMBER

Número inteiro que representa o número de tentativas de execução desta tarefa. Inicialmente um.

CONFIG

TEXT

Exibe a configuração de nível de gráfico usada durante a execução do gráfico, se definida explicitamente. Caso contrário, exibe NULL.

GRAPH_RUN_GROUP_ID

NUMBER

Identificador para a execução do gráfico. Quando uma execução de gráfico tem várias execuções de tarefas, cada execução de tarefa mostrará o mesmo GRAPH_RUN_GROUP_ID. A combinação de GRAPH_RUN_GROUP_ID e ATTEMPT_NUMBER pode ser usada para identificar exclusivamente uma execução de gráfico.

BACKFILL_INFO

OBJECT

Reserved for future use. The returned value for all rows is NULL.

Exemplos

Recuperar as 1.000 execuções mais recentes da gráfico (concluída, ainda em execução ou programada no futuro) na conta. Observe que o número máximo de linhas retornadas pela função é limitado a 1000 por padrão. Para alterar o número de linhas devolvidas, modifique o valor do argumento RESULT_LIMIT:

select *
  from table(information_schema.current_task_graphs())
  order by scheduled_time;
Copy

Recuperar os 10 execuções mais recentes de gráfico para uma tarefa específica (ainda em execução ou programada no futuro):

select *
  from table(information_schema.current_task_graphs(
    result_limit => 10,
    root_task_name=>'MYTASK'));
Copy