Categorias:

Information Schema , Funções de tabela

COMPLETE_TASK_GRAPHS

Retorna o status de uma execução de gráficos concluída. A função retorna detalhes de execuções bem-sucedidas, malsucedidas ou canceladas nos últimos 60 minutos. 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 dependentes (isto é, tarefas que têm uma ou mais tarefas predecessoras definidas). Para os propósitos desta função, tarefa raiz refere-se à tarefa única programada ou à tarefa raiz em um DAG.

Para recuperar os detalhes das execuções do gráfico que estão sendo executadas atualmente, ou que estão programadas para serem executadas nos próximos 8 dias, consulte a função de tabela CURRENT_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

COMPLETE_TASK_GRAPHS(
      [ RESULT_LIMIT => <integer> ]
      [, ROOT_TASK_NAME => '<string>' ]
      [, ERROR_ONLY => { TRUE | FALSE } ] )
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 COMPLETED_TIME. Se o número de linhas correspondentes for maior do que o limite de resultados, as execuções gráficas com o carimbo de data/hora mais recente completado 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.

ERROR_ONLY => TRUE | FALSE

Quando definida como TRUE, esta função retorna apenas execuções de gráficos que falharam ou foram canceladas.

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.

  • Esta função retorna um máximo de 10.000 linhas, definido no valor do argumento RESULT_LIMIT. O valor padrão é 1000. Para evitar esta limitação, use a exibição COMPLETE_TASK_GRAPHS (Account Usage).

  • Quando a função COMPLETE_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 retorna registros em ordem decrescente COMPLETED_TIME.

    Na prática, se muitos gráficos de tarefas tiverem sido executados na sua conta na hora anterior, os resultados retornados pela função poderão não incluir um registro esperado, 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:

  • SUCCEEDED: todas as tarefas no gráfico foram executadas com sucesso até a conclusão, ou a execução da tarefa raiz foi bem sucedida e uma ou mais tarefas filho foram puladas.

  • FAILED: uma ou mais tarefas no gráfico falharam, ou a tarefa raiz foi bem sucedida e uma ou mais tarefas filho falharam.

  • CANCELLED: uma ou mais execuções de tarefa no gráfico foram canceladas, ou a execução de tarefa raiz foi bem sucedida e uma ou mais execuções de tarefa secundárias foram canceladas.

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 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 de tarefas) está programada para começar a execução, partindo do princípio que a execução atual da tarefa autônoma ou DAG iniciada na hora de SCHEDULED_TIME terminará no devido tempo.

COMPLETED_TIME

TIMESTAMP_LTZ

Hora em que a última tarefa no DAG foi concluída.

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

Recupere as 1.000 execuções gráficas mais recentes concluídas 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.complete_task_graphs())
  order by scheduled_time;
Copy

Recuperar as 10 execuções de gráfico concluídas mais recentemente para um gráfico de tarefas especificado na última hora:

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