Catégories :

Information Schema , Fonctions de table

COMPLETE_TASK_GRAPHS

Renvoie le statut d’une exécution de graphique terminée. Cette fonction renvoie les détails des exécutions qui se sont correctement exécutées, qui ont échoué ou qui ont été annulées au cours des 60 dernières minutes. Un graphique est actuellement défini comme une tâche planifiée unique ou un DAG de tâches composé d’une tâche racine planifiée et d’une ou plusieurs tâches dépendantes (c’est-à-dire des tâches qui ont au moins une tâche prédécesseur définie). Dans le cadre de cette fonction, la tâche racine désigne soit la tâche planifiée unique, soit la tâche racine d’un DAG.

Pour récupérer les détails des exécutions de graphiques qui sont en cours d’exécution ou dont l’exécution est prévue dans les huit prochains jours, interrogez la fonction de table CURRENT_TASK_GRAPHS.

Cette fonction renvoie les détails de l’exécution du graphique pour l’ensemble de votre compte Snowflake ou pour une tâche racine spécifiée.

Syntaxe

COMPLETE_TASK_GRAPHS(
      [ RESULT_LIMIT => <integer> ]
      [, ROOT_TASK_NAME => '<string>' ]
      [, ERROR_ONLY => { TRUE | FALSE } ] )
Copy

Arguments

Tous les arguments sont facultatifs.

RESULT_LIMIT => integer

Un nombre spécifiant le nombre maximum de lignes renvoyé par la fonction. Notez que les résultats sont renvoyés dans l’ordre COMPLETED_TIME décroissant. Si le nombre de lignes correspondantes est supérieur à cette limite de résultats, les exécutions de graphiques avec l’horodatage terminé le plus récent sont renvoyées, jusqu’à la limite spécifiée.

Plage : de 1 à 10000

Par défaut : 1000

ROOT_TASK_NAME => string

Une chaîne insensible à la casse spécifiant le nom de la tâche racine. Seuls les noms de tâches non qualifiés sont pris en charge. Seules les exécutions de graphiques pour la tâche spécifiée sont renvoyées. Notez que si plusieurs tâches portent le même nom, la fonction renvoie les exécutions de graphiques pour chacune de ces tâches.

ERROR_ONLY => TRUE | FALSE

Lorsqu’elle a pour valeur TRUE, cette fonction renvoie uniquement les exécutions de graphiques qui ont échoué ou qui ont été annulées.

Notes sur l’utilisation

  • Renvoie les résultats uniquement pour le rôle ACCOUNTADMIN , le propriétaire de la tâche (c’est-à-dire le rôle doté du privilège OWNERSHIP sur la tâche) ou un rôle disposant du privilège global MONITOR EXECUTION. Notez qu’à moins qu’un rôle avec le privilège MONITOR EXECUTION ne dispose également du privilège USAGE sur la base de données et le schéma qui stockent la tâche, les valeurs DATABASE_NAME et SCHEMA_NAME dans la sortie sont NULL.

  • Cette fonction renvoie un maximum de 10 000 lignes, définies dans la valeur de l’argument RESULT_LIMIT. La valeur par défaut est 1000. Pour éviter cette limitation, utilisez la vue COMPLETE_TASK_GRAPHS (Account Usage).

  • Lorsque la fonction COMPLETE_TASK_GRAPHS est interrogée, ses arguments de nom de tâche et de limite de résultats sont appliqués d’abord , suivis des clauses WHERE et LIMIT, respectivement, si elles sont spécifiées. En outre, la fonction renvoie les enregistrements dans l’ordre COMPLETED_TIME décroissant.

    En pratique, si de nombreux graphiques de tâches ont terminé leur exécution dans votre compte au cours de l’heure précédente, les résultats renvoyés par la fonction peuvent ne pas inclure un enregistrement attendu, surtout si la valeur RESULT_LIMIT est relativement faible.

  • Lors de l’appel d’une fonction de table Information Schema, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complètement qualifié. Pour plus de détails, voir Schéma d’information de Snowflake.

Sortie

La fonction renvoie les colonnes suivantes :

Nom de la colonne

Type de données

Description

ROOT_TASK_NAME

TEXT

Nom de la tâche racine.

DATABASE_NAME

TEXT

Nom de la base de données contenant le graphique.

SCHEMA_NAME

TEXT

Nom du schéma contenant le graphique.

STATE

TEXT

Statut de l’exécution du graphique :

  • SUCCEEDED : toutes les tâches du graphique se sont exécutées avec succès jusqu’à leur terme, ou l’exécution de la tâche racine a réussi et une ou plusieurs exécutions de tâches enfants ont été ignorées.

  • FAILED : une ou plusieurs exécutions de tâches dans le graphique ont échoué, ou l’exécution de la tâche racine a réussi et une ou plusieurs exécutions de tâches enfants ont échoué.

  • CANCELLED : une ou plusieurs exécutions de tâches dans le graphique ont été annulées, ou l’exécution de la tâche racine a réussi et une ou plusieurs exécutions de tâches enfants ont été annulées.

Notez que si le statut de l’exécution de la tâche racine est SKIPPED, la fonction ne renvoie pas de ligne pour l’exécution.

SCHEDULED_FROM

TEXT

Une des options :

  • SCHEDULE : La tâche a été planifiée pour s’exécuter normalement, comme décrit dans les clauses SCHEDULE ou AFTER de CREATE TASK.

  • EXECUTE_TASK : l’exécution de la tâche était planifiée à l’aide de EXECUTE TASK.

  • MANUAL RETRY : l’exécution de la tâche était planifiée à l’aide de EXECUTE TASK … RETRY LAST.

FIRST_ERROR_TASK_NAME

TEXT

Nom de la première tâche du graphique qui a produit une erreur ; renvoie NULL si aucune tâche n’a produit d’erreur.

FIRST_ERROR_CODE

NUMBER

Code d’erreur de l’erreur renvoyée par la tâche nommée dans FIRST_ERROR_TASK_NAME ; renvoie NULL si aucune tâche n’a produit d’erreur.

FIRST_ERROR_MESSAGE

TEXT

Message d’erreur de l’erreur renvoyée par la tâche nommée dans FIRST_ERROR_TASK_NAME ; renvoie NULL si aucune tâche n’a produit d’erreur.

SCHEDULED_TIME

TIMESTAMP_LTZ

Heure à laquelle l’exécution de la tâche racine a été planifiée. Notez que nous faisons de notre mieux pour assurer une précision absolue, mais nous garantissons uniquement que les tâches ne s’exécutent pas avant leur heure programmée.

QUERY_START_TIME

TIMESTAMP_LTZ

Heure à laquelle la requête dans la définition de tâche racine a commencé à s’exécuter. Cet horodatage s’aligne sur l’heure de début de la requête renvoyée par QUERY_HISTORY.

NEXT_SCHEDULED_TIME

TIMESTAMP_LTZ

Heure à laquelle la tâche autonome ou racine (dans un DAG de tâches) doit ensuite commencer à s’exécuter, en supposant que l’exécution en cours de la tâche autonome ou du DAG démarré à l’heure SCHEDULED_TIME se termine à temps.

COMPLETED_TIME

TIMESTAMP_LTZ

Heure à laquelle la dernière tâche de DAG s’est achevée.

ROOT_TASK_ID

TEXT

Identificateur unique de la tâche racine dans un DAG. Cet ID correspond à la valeur de la colonne ID dans la sortie SHOW TASKS pour la même tâche.

GRAPH_VERSION

NUMBER

Entier identifiant la version du DAG qui a été exécuté ou doit être exécuté.

RUN_ID

NUMBER

Heure à laquelle la tâche autonome ou racine dans un DAG est/devait initialement démarrer. Le format est l’heure de l’époque (en millisecondes). . . L’heure planifiée d’origine se réfère à de rares cas où le système peut replanifier la même tâche pour qu’elle s’exécute à un autre moment pour la réessayer ou rééquilibrer la charge. Si cela se produit, RUN_ID affiche l’heure d’exécution planifiée d’origine et SCHEDULED_TIME affiche l’heure d’exécution reprogrammée. . . Veuillez noter que RUN_ID peut ne pas être un identificateur unique pour la tâche/le graphique en cours d’exécution avant la nouvelle tentative. Vous pouvez utiliser la colonne GRAPH_RUN_GROUP_ID pour remplacer RUN_ID.

ATTEMPT_NUMBER

NUMBER

Entier représentant le nombre de tentatives d’exécution de cette tâche. Initialement un.

CONFIG

TEXT

Affiche la configuration au niveau du graphique utilisée pendant l’exécution du graphique si elle est explicitement définie. Dans le cas contraire, affiche NULL.

GRAPH_RUN_GROUP_ID

NUMBER

Identificateur de l’exécution du graphique. Lorsqu’un graphique comporte plusieurs tâches, chacune d’entre elles affiche le même GRAPH_RUN_GROUP_ID. La combinaison de GRAPH_RUN_GROUP_ID, et ATTEMPT_NUMBER peut être utilisée pour identifier de manière unique l’exécution d’un graphique.

BACKFILL_INFO

OBJECT

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

Exemples

Récupère les 1 000 dernières exécutions de graphiques terminées dans le compte. Notez que le nombre maximum de lignes renvoyées par la fonction est limité à 1 000 par défaut. Pour changer le nombre de lignes renvoyées, modifiez la valeur de l’argument RESULT_LIMIT :

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

Récupère les 10 exécutions terminées de graphiques les plus récentes pour un graphique de tâches spécifié au cours de la dernière heure :

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