Kategorien:

Information Schema, Tabellenfunktionen

CURRENT_TASK_GRAPHS

Gibt den Status einer Task-Graph-Ausführung zurück, der gerade geplant ist oder ausgeführt wird. Ein Task-Graph ist derzeit definiert als eine einzelne geplante Aufgabe oder als ein einfacher Aufgabenstrukturbaum, der aus einer geplanten Stammaufgabe und einer oder mehreren untergeordneten Aufgaben besteht (d. h. Aufgaben, die eine definierte Vorgängeraufgabe haben). Für die Zwecke dieser Funktion bezieht sich Stammaufgabe entweder auf die einzelne geplante Aufgabe oder auf die Stammaufgabe in einem Aufgabenstrukturbaum.

Diese Funktion gibt Details zu Task-Graphen zurück, die gerade ausgeführt werden oder innerhalb der nächsten 8 Tage ausgeführt werden sollen. Um die Details der Task-Graph-Ausführungen abzurufen, die in den letzten 60 Minuten abgeschlossen wurden, fragen Sie die Tabellenfunktion COMPLETE_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

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

Argumente

Alle Argumente sind optional.

RESULT_LIMIT => Ganzzahl

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äß SCHEDULED_TIME-Wert zurückgegeben werden. Wenn die Anzahl der übereinstimmenden Zeilen größer ist als dieses Ergebnislimit, werden die geplanten Task-Graph-Ausführungen sortiert nach Zeitstempel der Startzeit (neuester zuerst) bis zum angegebenen Limit zurückgegeben.

Bereich: 1 bis 10000

Standard: 1000

ROOT_TASK_NAME => Zeichenfolge

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.

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.

  • Wenn die Funktion CURRENT_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 CURRENT_TASK_GRAPHS Datensätze in absteigender Reihenfolge gemäß SCHEDULED_TIME-Wert zurück.

    In der Praxis kann es vorkommen, dass die von der Funktion zurückgegebenen Ergebnisse nur geplante Aufgaben enthalten, wenn viele Task-Graphen in Ihrem Konto ausgeführt werden und wenn 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:

  • SCHEDULED: Die Stammaufgabe ist für einen zukünftigen Zeitpunkt geplant.

  • EXECUTING: Mindestens eine Aufgabe im Task-Graphen wird noch ausgeführt, oder die Stammaufgabe wurde erfolgreich abgeschlossen und eine oder mehrere untergeordnete Aufgaben sind geplant.

Wenn der Ausführungsstatus der Stammaufgabe SKIPPED ist, gibt die Funktion keine Zeile für die Ausführung zurück.

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 Aufgabe geplant ist/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 Abfrage der Aufgabendefinition ausgeführt 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 Aufgabenstrukturbaum) geplant ist, vorausgesetzt, die aktuelle Ausführung der eigenständigen Aufgabe oder des Aufgabenstrukturbaums, die/der zum Zeitpunkt SCHEDULED_TIME gestartet wurde, wird rechtzeitig abgeschlossen.

ROOT_TASK_ID

TEXT

Eindeutiger Bezeichner der Stammaufgabe eines Aufgabenstrukturbaums. Dieses ID entspricht dem Wert in der ID-Spalte der SHOW TASKS-Ausgabe derselben Aufgabe.

GRAPH_VERSION

NUMBER

Ganzzahl, die die Version des Aufgabenstrukturbaums angibt, die ausgeführt wurde oder deren Ausführung geplant ist.

RUN_ID

NUMBER

Zeitpunkt, zu dem die eigenständige oder Stammaufgabe in einem Aufgabenstrukturbaum ursprünglich ausgeführt werden soll/sollte. Das Format ist die Epochenzeit (in Millisekunden). Die Kombination der Werte ROOT_TASK_ID und RUN_ID identifiziert eine bestimmte Ausführung eines Aufgabenstrukturbaums. . 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 aus 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.

Beispiele

Abrufen der 1.000 neuesten (abgeschlossenen, noch ausgeführten oder geplanten) 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.current_task_graphs())
  order by scheduled_time;

Abrufen der 10 neuesten (noch ausgeführten oder geplanten) Task-Graph-Ausführungen einer bestimmten Aufgabe:

select *
  from table(information_schema.current_task_graphs(
    result_limit => 10,
    task_name=>'MYTASK'));
Zurück zum Anfang