Snowsight でタスクとタスクグラフを表示する

タスクを使用すると、 SQL コードの実行をスケジュールできます。タスクは、特定のデータベースとスキーマに関連付けられています。 Snowsight を使って、タスクやタスクグラフを表示および管理できます。 Snowsight を使えば、タスクやタスクグラフの実行履歴を表示したり、失敗したタスクを再試行したりすることもできます。

このトピックの内容:

個々のタスクを表示して管理する

Snowsight でタスクを表示して管理するには、次を行います。

  1. Snowsight にサインインします。

  2. Data » Databases を選択します。

  3. 特定のデータベースとスキーマについては、 Tasks を選択し、管理したいタスクを選択します。

Snowsight でタスクを表示する際には、次のことができます。

  • Details セクションで、タスク ID、タスクが使用するウェアハウス、スケジュール、状態、パラメータ、および条件をレビューします。

  • Task Definition セクションで、タスクの作成に使用された SQL ステートメント、および任意のタスクのグラフ構成をレビューします。

  • タスクに対する権限を管理します。 Snowsightでオブジェクトの権限を管理する をご参照ください。

  • ... アクションボタンを選択すると、タスクの編集、タスクのクローン、タスクのドロップ、または別のロールへのタスク所有権の譲渡を行うことができます。

Snowsight でタスクを編集すると、タスクは自動的に中断され、編集が終わると再開されます。タスクの中断と再開の詳細については、 タスク実行のバージョニング をご参照ください。

タスクグラフの表示と管理

タスクグラフをレビューして、ルートタスク、その依存タスク、およびファイナライザータスクをタスクグラフの形式で表示します。タスクグラフの詳細については、 タスクグラフでタスクの依存関係を管理する をご参照ください。タスクグラフを確認すると、 Snowsight で次のことができます。

  • タスク情報を表示する。

  • タスクグラフを確認する。

  • グラフでタスクを選択すると、先行タスク、タスクの実行に使用されたウェアハウス、タスクを所有するロールなどの追加の詳細が表示されます。

ルートタスクを編集して、タスクグラフのパラメータを変更することもできます。 Snowsight でタスクを編集すると、タスクは自動的に中断され、編集が終わると再開されます。タスクの中断と再開の詳細については、 タスク実行のバージョニング をご参照ください。

Snowsightで表示されるタスクグラフの例。次の手順で説明されるタスクグラフを表示するためのナビゲーションを示す注釈付き。

特定のデータベーススキーマのタスクグラフを表示するには、次を実行します。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Data » Databases を選択します。

  3. オブジェクトエクスプローラーを使用して、表示するタスクを含むデータベースとスキーマを見つけます。

  4. 選択したスキーマについて、 Tasks を選択します。

  5. 特定のタスクを選択します。

    タスクの詳細が表示され、追加の Graph および Run History タブが表示されます。

  6. Graph タブを選択して、タスクグラフを表示します。

    タスクグラフが表示され、タスクの階層が表示されます。

  7. タスクを選択して、グラフのコンテキストで詳細を表示します。

注釈

タスク履歴データは、過去7日間にタスクが実行された場合にのみ利用できます。

タスク履歴の表示

Snowsight を使用すると、異なる方法でタスクの実行履歴を確認できます。

  • アカウントで実行されたすべてのタスクの実行履歴を表示して、たとえば、実行に失敗した重要なタスク、長時間実行されているタスク、またはコストを増加させているタスクを特定します。

  • 特定のタスクの実行履歴を表示して、タスクに関する詳細情報を収集します。

  • タスクグラフの実行履歴を表示して、可観測性とモニターのために、また特定のタスクグラフの問題を特定するために役立てます。

テーブル関数 TASK_HISTORY またはビュー TASK_HISTORY ビュー を使用して SQL のタスク履歴を確認することもできます。

タスク履歴を表示するために必要な権限

Snowsight でタスク履歴を表示するには、 TASK_HISTORY 関数を実行するのに必要な権限と同じ権限が必要です。

次のロールのいずれかを使用する必要があります。

  • ACCOUNTADMIN ロール。

  • タスクに対する OWNERSHIP 権限を持つロール。

  • MONITOR EXECUTION グローバル権限と、タスクを格納するデータベースとスキーマに対する USAGE 権限を持つロール。

使用するロールは、Account Usage TASK_HISTORY ビューをクエリできる必要があります。共有SNOWFLAKEデータベースのUSAGE_VIEWERデータベースロールを使用するロールに付与できます。

たとえば、特定のタスク mytask の履歴を表示するには、カスタムロール myrole に以下が必要です。

  • タスクに対する OWNERSHIP 権限。

  • 共有 SNOWFLAKE データベースでの USAGE_VIEWER データベースロール。

これらの権限を付与するには、以下の SQL コマンドを実行します。

GRANT OWNERSHIP ON TASK mytask TO ROLE myrole;
GRANT DATABASE ROLE USAGE_VIEWER TO ROLE myrole;
Copy

詳細については、以下をご参照ください。

タスクの実行履歴をレビューする

タスク実行履歴には、特定のタスクの各実行に関する詳細が含まれます。スケジュールされた時間、実際の開始時間、タスクの期間、およびその他の情報を表示できます。

各セクションの注釈が付いたSnowsightのタスク履歴ページ。

各インスタンスについて、以下を表示できます。

  • スケジュールされた開始時刻: タスクの次回の実行スケジュール。

  • ステータス: 最新の実行のステータス。

  • 期間: 最新の実行の時間(秒単位)。

  • クエリ: タスククエリプロファイルまたはタスクステートメントをワークシートに表示する。

実行履歴を表示するには、

  1. Snowsight にサインインします。

  2. Data » Databases を選択します。

  3. 右側のペインで、オブジェクトエクスプローラーを使用して、データベースとスキーマに移動します。

  4. 選択したスキーマについて、 Tasks を選択して展開します。

  5. タスクを選択します。 Task DetailsGraph、および Run History サブタブを含むタスク情報が表示されます。

  6. Run History タブを選択します。

注釈

タスク履歴データは、過去7日間にタスクが実行された場合にのみ利用できます。

アカウントレベルのタスク履歴をレビューする

タスク実行のアカウントレベルの履歴を確認して、失敗したタスク、実行時間の長いタスク、および特定の1つのタスクだけではなく、アカウント全体のその他のモニターとデバッグのケースを特定します。

タスクのアカウントレベルの履歴を表示するには、次を実行します。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Monitoring » Task History を選択します。

  3. 個別のタスク実行を表示するには、フィルターから View » Task Runs を選択します。

タスク実行の履歴を選択した後、ページをフィルターして関連情報を表示できます。

  • Date Range フィルターを選択して、前日から過去12か月までのタスク履歴、またはカスタム範囲を表示します。

  • Task status フィルターを選択して、 SucceededFailedCancelled、または Skipped などのステータス1つ以上のタスク履歴を表示します。

  • タスクの名前でフィルターして、特定のタスクのステータスまたは期間のパターンを経時的に表示します。

  • タスクを含むデータベースまたはスキーマの名前でフィルターします。

たとえば、実行時間の長いタスクを識別するには、 Status フィルターを選択して成功したタスクのみを表示し、 Duration フィールドを降順で並べ替えます。高度なデバッグを行うには、 Open in worksheets ボタンを使用して、フィルター済みおよび並べ替え済みのテーブルをワークシートで開くことができます。次に、 LIMIT / FETCH および GROUP BY 引数を使用して SQL ステートメントを変更し、実行時間の長い上位25個のタスクを持つデータベースとスキーマを特定できます。

特定のタスクを選択して、詳細をドリルダウンすることもできます。

アカウントレベルのタスクグラフの履歴をレビューする

タスクグラフのアカウントレベルの履歴を確認して、グラフの完了を妨げている重大な失敗タスク、実行時間の長いタスク、非効率的または失敗頻度の高いタスクグラフ、アカウント全体のその他のモニターとデバッグのケースを特定します。

タスクグラフのアカウントレベルの履歴を表示するには、次を実行します。

注釈

OBJECT_VIEWERデータベースロールを持つロールを使用する必要があります。タスクグラフの履歴ページでは、 COMPLETE_TASK_GRAPHS ビュー を使用します。詳細については、 ACCOUNT_USAGE スキーマ SNOWFLAKE データベースロール をご参照ください。あなたのロールは、そのタスクのOWNERSHIP権限も持っている必要があります。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Monitoring » Task History を選択します。

    デフォルトでは、前日から実行されたすべてのタスクグラフがヒストグラムおよびテーブルとしてページに表示されます。

タスクグラフ実行の履歴を選択した後、ページをフィルターして関連情報を表示できます。

  • Date Range フィルターを選択すると、過去12か月までの長期間のタスク履歴が表示されます。

  • Graph status フィルターを選択して、 SucceededFailedCancelled、または Skipped などの1つ以上のタスクグラフステータス実行履歴を表示します。グラフ内の1つのタスクが失敗した場合、グラフ全体が Failed として表示されます。

  • タスクグラフのルートタスクを含むデータベースの名前と、オプションでスキーマにフィルターをかけます。

  • データベースとオプションのスキーマを選択した後、ルートタスク名でフィルターして、特定のタスクタイプのステータスまたは期間のパターンを経時的に表示します。アクティブなロールに表示権限がないルートタスクが表示される場合があります。

たとえば、失敗したタスクを含むタスクグラフを識別するには、 Graph status フィルターを選択して、失敗したタスクのみを表示します。失敗したタスクにカーソルを合わせると、失敗の詳細が表示されます。高度なデバッグを行うには、 Open in worksheets ボタンを使用して、フィルター済みおよび並べ替え済みのテーブルをワークシートで開きます。次に、 LIMIT / FETCH および GROUP BY 引数を使用して SQL ステートメントを変更し、たとえば上位25個の失敗したタスクを持つデータベースとスキーマを特定できます。

タスクグラフ実行をデバッグする

アカウントレベルのタスクグラフの履歴を表示する場合は、特定のタスクグラフ実行を選択して詳細を表示します。グラフ内のタスクの履歴を表示する権限がある場合は、タスクグラフの実行が表示され、そうでない場合はエラーが表示されます。

3つの依存タスクを持つ1つのルートタスクと、それらの先行タスクの4つの依存タスクを示すSnowsightタスクグラフ。ROOT_TASK というタイトルのタスクは、 INSERT_1タスクと共に、他のタスクよりも若干長い時間を示しながら成功しました。INSERT_2の2つの従属タスクは実行されましたが失敗し、3番目の従属タスクは成功しました。強調表示されたタスクは失敗しました。

たとえば、特定の失敗したタスクグラフの実行を選択してグラフ全体を表示し、特定の失敗したタスクの結果として実行されなかったタスクや一時停止したタスクを特定したり、グラフ内の依存タスクの実行を遅らせている実行時間の長いタスクを特定したりできます。

タスクグラフの特定のタスクについて、そのタスクの様々な側面にカーソルを合わせることで、タスクに関する追加情報を集めることができます。

  • ウェアハウスのメタデータは、ステータスやサイズなど、タスクの実行に使用されているウェアハウスを識別します。これにより、ウェアハウスのサイズが原因で実行が遅いタスクや、ウェアハウスの使用量に貢献しているタスクを特定できます。

  • ストリーム条件メタデータには、テーブルストリームの詳細と、そのタスクで条件がtrueに設定されたかfalseに設定されたかが表示されます。

  • タスクの詳細を表示するには Go to Task Page を選択します。

各タスクには、 SucceededFailedSkippedSuspendedCancelledDid not run などのステータスが対応する色とともに表示されます。失敗したタスク、スキップしたタスク、停止されたタスク、キャンセルしたタスクのステータスにカーソルを合わせると、詳細情報が表示されます。

タスクグラフに加えて、実行されたタスク、各タスクの開始時刻、各タスクの実行時間、各タスクのステータス、およびタスク実行のシーケンスを表すタイムラインを説明するテーブルを確認できます。タイムラインを使用すると、タスクグラフの実行が遅かった理由や、どの実行時間が長い実行タスクが依存タスクの開始を遅らせた可能性があるかをすばやく判断できます。

テーブル内のタスクごとに、 ... 詳細メニューを選択して、ワークシート内のタスクのクエリ ID を開くか、クエリプロファイルを開くことができます。

失敗したタスクの再試行

Snowsight では、以前のタスク実行の試行を見たり、失敗したりキャンセルされたりしたタスクのグラフを手動で再試行することができます。失敗したタスクやキャンセルされたタスクを再試行するには、タスクに対する OPERATE 権限が必要です。以前のタスク実行の試行を表示するには、 タスク履歴を表示する のと同じ権限も必要です。

失敗したタスクやキャンセルされたタスクを再試行するには、以下の手順を実行します。

  1. アカウントレベルのタスクグラフ履歴を開く手順 に従ってください。

  2. アカウントレベルのタスクグラフ履歴ページで、特定のタスクグラフの実行を選択し、詳細を表示します。

  3. 特定のタスクグラフ実行の詳細ページで、 Retry を選択して、失敗したすべてのタスクグラフ実行を手動で再試行します。

    再試行は、グラフ内の失敗したタスクとキャンセルされたタスクのみを開始し、すでに成功したタスクは再実行しません。

    特定のタスクグラフ実行の詳細ページで、 :ui:`Retry` を選択して、失敗したすべてのタスクグラフ実行を手動で再試行することができます。
  4. ページを更新するには、更新ボタンを選択します。失敗した試行は、アカウントレベルのタスクグラフの実行詳細に表示されます。アカウントレベルのタスク実行履歴とタスクグラフの実行履歴は、45分の遅延で最新の試行のステータスを表示します。

    ページが更新された後、失敗した試行はアカウントレベルのタスクグラフの実行詳細に表示されます。
  5. 失敗した試行は、オブジェクトレベルのタスク履歴にも表示されます。 タスクの実行履歴を表示する手順 に従ってください。最新の実行の試行が表示されます。タスクを実行しようとするすべての試行は、同じ実行 ID になります。

過去に失敗またはキャンセルされた試行は、実行ステータスの横に表示されます。タスクを選択して、各試行のスケジュールされたタイムスタンプ、ステータス、エラーメッセージを見ることができます。

過去に失敗またはキャンセルされた試行は、実行ステータスの横に表示されます。

注釈

以下のいずれかに当てはまる場合、 Retry ボタンは無効になります。

  • グラフ内に失敗またはキャンセルされたタスクはなかった。

  • 再試行がすでに進行中である。

  • 選択された実行は最新の実行ではない。

  • タスクグラフが実行後に修正された。

  • 実行が14日より長い。