カテゴリ:

Information Schemaテーブル関数

COMPLETE_TASK_GRAPHS

完了した グラフ 実行のステータスを返します。この関数は、過去60分間に正常に実行された、失敗した、またはキャンセルされた実行の詳細を返します。グラフは現在、単一のスケジュールされたタスク または タスクの DAG として定義されており、スケジュールされたルートタスクと1つ以上の依存タスク(つまり、1つ以上の定義された先行タスクを持つタスク)で構成されるタスクの単純なツリーです。この関数の目的上、 ルートタスク は、単一のスケジュールされたタスク、または DAG 内のルートタスクのいずれかを指します。

現在実行中、または今後8日以内に実行するように次回スケジュールされているグラフ実行の詳細を取得するには、 CURRENT_TASK_GRAPHS テーブル関数をクエリします。

この関数は、Snowflakeアカウント全体または指定されたルートタスクのグラフ実行の詳細を返します。

構文

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

引数

すべての引数はオプションです。

RESULT_LIMIT => integer

関数によって返される行の最大数を指定する数です。結果は、 COMPLETED_TIME の降順で返されることに注意してください。一致する行の数がこの制限よりも大きい場合は、指定された制限まで、最新の完了タイムスタンプを持つグラフ実行が返されます。

範囲: 110000

デフォルト: 1000

ROOT_TASK_NAME => string

ルートタスクの名前を指定する大文字と小文字を区別しない文字列。非修飾タスク名のみがサポートされています。指定されたタスクのグラフ実行のみが返されます。複数のタスクが同じ名前を持っている場合、関数はこれらの各タスクのグラフ実行を返します。

ERROR_ONLY => TRUE | FALSE

TRUE に設定すると、この関数は失敗したかキャンセルされたグラフ実行のみを返します。

使用上の注意

  • ACCOUNTADMIN ロール、タスク所有者(つまり、タスクに対する OWNERSHIP 権限を持つロール)、またはグローバル MONITOR EXECUTION 権限を持つロールの結果のみを返します。ロールが、 MONITOR EXECUTION 権限に加えて、タスクを保存するデータベースとスキーマに対する USAGE 権限を持つ場合以外は、出力の DATABASE_NAME および SCHEMA_NAME 値は NULL であることに注意してください。

  • この関数は、 RESULT_LIMIT 引数値に設定されている行数を返します。最大値は10,000行です。デフォルト値は 1000 です。この制限を回避するには、 COMPLETE_TASK_GRAPHS ビュー (Account Usage)を使用します。

  • COMPLETE_TASK_GRAPHS 関数がクエリされると、そのタスク名と結果制限引数が 最初 に適用され、指定されている場合には、それぞれ WHERE 句と LIMIT 句が続くことに注意してください。さらに、関数は COMPLETED_TIME の降順で記録を返します。

    実際には、過去1時間にアカウントで多くのタスクグラフの実行が完了され、特に RESULT_LIMIT 値が比較的低い場合は、関数によって返される結果に期待される記録が含まれない可能性があります。

  • Information Schemaテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。

出力

この関数は、次の列を返します。

列名

データ型

説明

ROOT_TASK_NAME

TEXT

ルートタスクの名前。

DATABASE_NAME

TEXT

グラフを含むデータベースの名前。

SCHEMA_NAME

TEXT

グラフを含むスキーマの名前。

STATE

TEXT

グラフ実行の状態。

  • SUCCEEDED: グラフ内のすべてのタスクが正常に実行されて完了するか、ルートタスク実行に成功し、1つ以上の子タスク実行がスキップされました。

  • FAILED: グラフ内の1つ以上のタスク実行に失敗したか、ルートタスク実行に成功し、1つ以上の子タスク実行に失敗しました。

  • CANCELLED: グラフ内の1つ以上のタスク実行がキャンセルされたか、ルートタスク実行に成功し、1つ以上の子タスク実行がキャンセルされました。

ルートタスク実行の状態が SKIPPED の場合、関数は実行の行を返さないことに注意してください。

SCHEDULED_FROM

TEXT

次のいずれか:

  • SCHEDULE: CREATE TASK の SCHEDULE 句または AFTER 句で説明されているように、タスクは正常に実行されるようにスケジュールされました。

  • EXECUTE_TASK: タスクは EXECUTE TASK を使用して実行するようにスケジュールされました。

  • MANUAL RETRY: タスクは EXECUTE TASK ... RETRY LAST を使用して実行するようにスケジュールされました。

FIRST_ERROR_TASK_NAME

TEXT

エラーを返したグラフにある最初のタスクの名前。エラーが発生したタスクがない場合は、 NULL を返します。

FIRST_ERROR_CODE

NUMBER

FIRST_ERROR_TASK_NAME で名前を付けられたタスクによって返されるエラーのエラーコード。エラーが発生したタスクがない場合は NULL を返します。

FIRST_ERROR_MESSAGE

TEXT

FIRST_ERROR_TASK_NAME で名前を付けられたタスクによって返されるエラーのエラーメッセージ。エラーが発生したタスクがない場合は NULL を返します。

SCHEDULED_TIME

TIMESTAMP_LTZ

ルートタスクが実行を開始するようにスケジュールされた時刻。絶対精度を確保するために最善を尽くしますが、保証は、スケジュールされた時間の にタスクが実行されないようにすることのみに限定されます。

QUERY_START_TIME

TIMESTAMP_LTZ

ルートタスク定義のクエリの実行が開始された時刻。このタイムスタンプは、 QUERY_HISTORY によって返されるクエリの開始時間と一致します。

NEXT_SCHEDULED_TIME

TIMESTAMP_LTZ

SCHEDULED_TIME 時に開始されたスタンドアロンタスクまたは DAG の現在の実行が時間内に完了すると仮定して、スタンドアロンタスクまたはルートタスク(タスクの DAG 内)が次に実行を開始するようにスケジュールされる時刻。

COMPLETED_TIME

TIMESTAMP_LTZ

DAG 内の最後のタスクが完了した時刻。

ROOT_TASK_ID

TEXT

DAG 内にあるルートタスクの一意の識別子。この ID は、同じタスクの SHOW TASKS 出力にある ID 列の値と一致します。

GRAPH_VERSION

NUMBER

実行された、または実行予定の DAG のバージョンを識別する整数。

RUN_ID

NUMBER

DAG 内のスタンドアロンタスクまたはルートタスクが本来実行を開始するようにスケジュールされている、またはされていた時刻。形式はエポック時間(単位:ミリ秒)です。 . . 元の スケジュール時間とは、システムが同じタスクを再スケジュールして異なる時間に実行し、再試行またはロードのリバランスを行うまれなインスタンスを指します。その場合、RUN_IDは元のスケジュールされた実行時間を表示し、SCHEDULED_TIMEは再スケジュールされた実行時間を表示します。 . . RUN_ID は、再試行前に実行された現在のタスク/グラフの一意な識別子ではない可能性があります。RUN_ID の代わりとして、 GRAPH_RUN_GROUP_ID 列を使用することができます。

ATTEMPT_NUMBER

NUMBER

このタスクの実行を試行した回数を表す整数。初期値は1。

CONFIG

TEXT

明示的に設定されている場合は、グラフの実行中に使用されたグラフレベルの構成を表示します。それ以外の場合は NULL を表示します。

GRAPH_RUN_GROUP_ID

NUMBER

グラフ実行の識別子。グラフ実行に複数のタスク実行がある場合、各タスク実行は同じ GRAPH_RUN_GROUP_ID を表示します。GRAPH_RUN_GROUP_ID、および ATTEMPT_NUMBER の組み合わせは、グラフの実行を一意に識別するために使用できます。

BACKFILL_INFO

OBJECT

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

アカウントにある完了したグラフ実行の最新1000件を取得します。関数によって返される行の最大数は、デフォルトで1000に制限されていることに注意してください。返される行数を変更するには、 RESULT_LIMIT 引数の値を変更します。

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

過去1時間以内に指定されたタスクグラフに対して実行された完了したグラフの最新10件を取得します。

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