- Kategorien:
COMPLETE_TASK_GRAPHS¶
Gibt den Status einer abgeschlossenen Task-Graph-Ausführung zurück. Die Funktion gibt Details zu den Ausführungen zurück, die in den letzten 60 Minuten erfolgreich abgeschlossen wurden, fehlgeschlagen sind oder abgebrochen wurden. Ein Task-Graph ist derzeit definiert als eine einzelne geplante Aufgabe oder als ein Task-Graph, der aus einer geplanten Stammaufgabe und einer oder mehreren abhängigen Aufgaben besteht (d. h. Aufgaben, die eine oder mehrere definierte Vorgängeraufgaben haben). Für die Zwecke dieser Funktion bezieht sich Stammaufgabe entweder auf die einzelne geplante Aufgabe oder auf die Stammaufgabe in einem Task-Graphen.
Um die Details zu Task-Graphen abzurufen, die gerade ausgeführt werden oder innerhalb der nächsten 8 Tage ausgeführt werden sollen, fragen Sie die Tabellenfunktion CURRENT_TASK_GRAPHS ab.
Die Funktion gibt die Details zu den Task-Graph-Ausführungen für Ihr gesamtes Snowflake-Konto oder für eine bestimmte Stammaufgabe zurück.
Syntax¶
COMPLETE_TASK_GRAPHS(
[ RESULT_LIMIT => <integer> ]
[, ROOT_TASK_NAME => '<string>' ]
[, ERROR_ONLY => { TRUE | FALSE } ] )
Argumente¶
Alle Argumente sind optional.
RESULT_LIMIT => integer
Eine Zahl, die die maximale Anzahl von Zeilen angibt, die von der Funktion zurückgegeben werden. Beachten Sie, dass die Ergebnisse in absteigender Reihenfolge gemäß COMPLETED_TIME-Wert zurückgegeben werden. Wenn die Anzahl der übereinstimmenden Zeilen größer ist als dieses Ergebnislimit, werden die abgeschlossenen Task-Graph-Ausführungen sortiert nach Zeitstempel des Abschlusses (neuester zuerst) bis zum angegebenen Limit zurückgegeben.
Bereich:
1
bis10000
Standard:
1000
ROOT_TASK_NAME => string
Eine von Groß-/Kleinschreibung unabhängige Zeichenfolge, die den Namen der Stammaufgabe angibt. Es werden nur nicht qualifizierte Aufgabennamen unterstützt. Es werden nur Task-Graph-Ausführungen der angegebenen Aufgabe zurückgegeben. Wenn mehrere Aufgaben denselben Namen haben, gibt die Funktion die Task-Graph-Ausführungen für jede dieser Aufgaben zurück.
ERROR_ONLY => TRUE | FALSE
Wenn diese Funktion auf TRUE gesetzt ist, werden nur Task-Graph-Ausführungen zurückgegeben, die fehlgeschlagen sind oder abgebrochen wurden.
Nutzungshinweise¶
Gibt nur Ergebnisse für die Rolle ACCOUNTADMIN oder den Aufgabeneigentümer zurück (d. h. die Rolle mit der Berechtigung OWNERSHIP für die Aufgabe) oder eine Rolle mit der globalen Berechtigung MONITOR EXECUTION. Beachten Sie, dass die Werte DATABASE_NAME und SCHEMA_NAME in der Ausgabe NULL sind, sofern eine Rolle mit der Berechtigung MONITOR EXECUTION nicht auch die Berechtigung USAGE für die Datenbank und das Schema hat, in denen die Aufgabe gespeichert ist.
Diese Funktion gibt maximal 10.000 Zeilen zurück. Der Wert wird im Argument
RESULT_LIMIT
festgelegt. Der Standardwert ist1000
. Um diese Einschränkung zu umgehen, können Sie die COMPLETE_TASK_GRAPHS-Ansicht (Account Usage) verwenden.Wenn die Funktion COMPLETE_TASK_GRAPHS abgefragt wird, werden zuerst die Argumente Aufgabenname und Ergebnislimit angewendet und erst danach, falls angegeben, die Klauseln WHERE und LIMIT. Darüber hinaus gibt die Funktion Datensätze in absteigender Reihenfolge gemäß COMPLETED_TIME-Wert zurück.
In der Praxis kann es vorkommen, dass die von der Funktion zurückgegebenen Ergebnisse keinen erwarteten Datensatz enthalten, wenn in der vorangegangenen Stunde viele Task-Graphen in Ihrem Konto abgeschlossen wurden und insbesondere wenn der RESULT_LIMIT-Wert relativ niedrig ist.
Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder der Funktionsname muss vollqualifiziert sein. Weitere Details dazu finden Sie unter Snowflake Information Schema.
Ausgabe¶
Die Funktion gibt die folgenden Spalten zurück:
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
ROOT_TASK_NAME |
TEXT |
Name der Stammaufgabe. |
DATABASE_NAME |
TEXT |
Name der Datenbank, die den Task-Graphen enthält. |
SCHEMA_NAME |
TEXT |
Name des Schemas, das den Task-Graphen enthält. |
STATE |
TEXT |
Status der Task-Graph-Ausführung:
Wenn der Ausführungsstatus der Stammaufgabe SKIPPED ist, gibt die Funktion keine Zeile für die Ausführung zurück. |
SCHEDULED_FROM |
TEXT |
Eine der folgenden Optionen:
Bei der Ausführung einer untergeordneten Aufgabe eines Task-Graphen gibt die Spalte denselben Wert zurück wie bei der Ausführung der Stammaufgabe. |
FIRST_ERROR_TASK_NAME |
TEXT |
Name der ersten Aufgabe im Task-Graphen, die einen Fehler verursacht hat. Gibt NULL zurück, wenn keine Aufgabe einen Fehler verursacht hat. |
FIRST_ERROR_CODE |
NUMBER |
Fehlercode des Fehlers, der von der in FIRST_ERROR_TASK_NAME genannten Aufgabe zurückgegeben wurde. Gibt NULL zurück, wenn keine Aufgabe einen Fehler verursacht hat. |
FIRST_ERROR_MESSAGE |
TEXT |
Fehlermeldung des Fehlers, der von der in FIRST_ERROR_TASK_NAME genannten Aufgabe zurückgegeben wurde. Gibt NULL zurück, wenn keine Aufgabe einen Fehler verursacht hat. |
SCHEDULED_TIME |
TIMESTAMP_LTZ |
Zeitpunkt, zu dem der Start der Stammaufgabe geplant war. Beachten Sie, dass wir uns nach besten Kräften um absolute Präzision bemühen, aber nur garantieren, dass Aufgaben nicht vor der geplanten Zeit ausgeführt werden. |
QUERY_START_TIME |
TIMESTAMP_LTZ |
Zeitpunkt, zu dem die Ausführung der Abfrage in der Stammaufgabendefinition gestartet wurde. Dieser Zeitstempel stimmt mit der Startzeit der von QUERY_HISTORY zurückgegebenen Abfrage überein. |
NEXT_SCHEDULED_TIME |
TIMESTAMP_LTZ |
Zeitpunkt, zu dem die nächste Ausführung der eigenständigen Aufgabe oder der Stammaufgabe (in einem Task-Graphen von Aufgaben) geplant ist, vorausgesetzt, die aktuelle Ausführung der eigenständigen Aufgabe oder des Task-Graphen, die/der zum Zeitpunkt SCHEDULED_TIME gestartet wurde, wird rechtzeitig abgeschlossen. |
COMPLETED_TIME |
TIMESTAMP_LTZ |
Zeitpunkt, zu dem die letzte Aufgabe des Task-Graphen abgeschlossen wurde. |
ROOT_TASK_ID |
TEXT |
Eindeutiger Bezeichner der Stammaufgabe in einem Task-Graphen. Diese ID stimmt mit dem Wert in der ID-Spalte der SHOW TASKS-Ausgabe derselben Aufgabe überein. |
GRAPH_VERSION |
NUMBER |
Ganzzahl, die die Version des Task-Graphen angibt, die ausgeführt wurde oder deren Ausführung geplant ist. |
RUN_ID |
NUMBER |
Zeitpunkt, zu dem die eigenständige Aufgabe bzw. Stammaufgabe in einem Task-Graphen ursprünglich ausgeführt werden soll/sollte. Das Format ist die Epochenzeit (in Millisekunden). . . Die ursprüngliche geplante Zeit bezieht sich auf seltene Fälle, in denen das System möglicherweise dieselbe Aufgabe neu plant, um sie zu einem anderen Zeitpunkt zu Testzwecken erneut auszuführen, oder die Last neu auszugleichen. In diesem Fall zeigt RUN_ID die ursprünglich geplante Ausführungszeit und SCHEDULED_TIME die neu geplante Ausführungszeit an. . . Beachten Sie, dass RUN_ID möglicherweise kein eindeutiger Bezeichner für die aktuelle Task-Graph-Ausführung vor der Wiederholung ist. Sie können die Spalte GRAPH_RUN_GROUP_ID als Ersatz für RUN_ID verwenden. |
ATTEMPT_NUMBER |
NUMBER |
Ganzzahl, die die Anzahl der Versuche angibt, diese Aufgabe auszuführen. Anfänglich eine. |
CONFIG |
TEXT |
Zeigt die Konfiguration der Task-Graph-Ebene an, die während der Task-Graph-Ausführung verwendet wird, falls diese explizit festgelegt wurde. Zeigt andernfalls NULL an. |
GRAPH_RUN_GROUP_ID |
NUMBER |
Bezeichner für die Task-Graph-Ausführung. Wenn eine Task-Graph-Ausführung aus mehreren Aufgabenausführungen besteht, wird für jede Aufgabenausführung derselbe GRAPH_RUN_GROUP_ID-Wert angezeigt. Die Kombination aus GRAPH_RUN_GROUP_ID und ATTEMPT_NUMBER kann zur eindeutigen Identifizierung einer Task-Graph-Ausführung verwendet werden. |
BACKFILL_INFO |
OBJECT |
Reserviert für zukünftige Verwendung. Der zurückgegebene Wert ist für alle Zeilen NULL. |
Beispiele¶
Abrufen der 1.000 neuesten abgeschlossenen Task-Graph-Ausführungen im Konto. Beachten Sie, dass die maximale Anzahl von Zeilen, die von der Funktion zurückgegeben werden, standardmäßig auf 1.000 begrenzt ist. Um die Anzahl der zurückgegebenen Zeilen zu ändern, müssen Sie den Wert des Arguments RESULT_LIMIT anpassen:
select * from table(information_schema.complete_task_graphs()) order by scheduled_time;
Abrufen der 10 neuesten abgeschlossenen Task-Graph-Ausführungen einer bestimmten Aufgabe innerhalb der letzten Stunde:
select * from table(information_schema.complete_task_graphs ( result_limit => 10, root_task_name=>'MYTASK'));