Snowflake Notebookの実行スケジュール¶
Snowflake Notebookをタスクとして実行するようにスケジュールできます。タスクはSnowflake内で実行され、コードを実行します。タスクの詳細については、 タスクの紹介 をご参照ください。
ノートブック実行のスケジューリングについて¶
ノートブックを実行するスケジュールを作成すると、 Snowsight がそのスケジュールでノートブックを実行するタスクを作成します。これによりノートブックが非対話モードで、上から下へセルごとに実行されます。このタスクはノートブックオーナーロールによって所有され、ノートブックウェアハウスを使用して実行されます。デフォルトでは、ノートブックの失敗したタスクの実行は、10回失敗すると自動的に中断されます。
ノートブックを実行するたびにノートブックが起動し、ウェアハウスと接続します。その結果、ノートブックが使用するウェアハウスは再開され、スケジュールされたタスクが完了してから15分後までアクティブな状態になります。 Snowflake Notebooks の実行に関する考慮事項 をご参照ください。
スケジュール上でノートブックを実行するために必要な権限¶
スケジュール上でノートブックを実行するプロセスはタスクを作成して実行するため、以下の権限を持つロールを使用する必要があります。
権限 |
オブジェクト |
---|---|
EXECUTE TASK |
アカウント |
USAGE |
ノートブックを含むデータベース |
USAGE, CREATE TASK |
ノートブックを含むスキーマ |
ノートブックをスケジュールする¶
ノートブックの実行をスケジュールするには、以下のようにしてタスクを作成します。
注釈
CREATETASK、EXECUTETASK権限を付与されたロールを使用する必要があります。包括的なリストについては、 必須権限 セクションをご参照ください。
Projects » Notebooks を選択します。
スケジュールするノートブックを探して選択します。
ノートブックでスケジュールボタン、 Create schedule の順に選択します。
Schedule a notebook run ダイアログが表示されます。
Schedule name には、リソースモニターの名前を入力します。これはノートブックを実行するタスクの名前として使われます。
Frequency では、ノートブックを実行する頻度を選択します(例えば、 Daily)。
選択した頻度よって、 Scheduled time やその他のオプションを調整し、ノートブックを実行するタイミングに合わせます。
オプションで、 Parameter について、スケジュールされたノートブックに渡すコマンドライン構文の引数を追加できます。例:
key1=value1 key2=value2 --option2
。注釈
--
(2つのダッシュ)を単独の引数として渡すと、ダッシュの前に渡された引数はすべてノートブックのランタイムに渡されたと解釈されます。スケジュールのプレビューを確認し、 Create を選択します。
ノートブックの実行をスケジュールするタスクが作成されます。
ノートブックのスケジュール管理¶
ノートブックのスケジュールを作成すると、ノートブックが属するスキーマのタスクリストからスケジュールの表示や編集ができます。
Projects » Notebooks を選択します。
スケジュールを管理するノートブックを探して選択します。
ノートブックでスケジュールボタン、 View schedules の順に選択します。ノートブックのスキーマに含まれるすべてのタスクのテーブルを表示します。
スケジュールの時間や頻度の変更、タスクの中断や中止などの編集が可能です。タスク管理の詳細については、 タスクの紹介 をご参照ください。
スケジュールされたノートブックのパラメーターへのアクセス¶
sys.argv
を使って、スケジュールされたノートブック内のパラメーターにアクセスできます。例:
# first argument
sys.argv[0]
# print the entire list
st.write(sys.argv)
過去にスケジュールされたノートブックの管理¶
ノートブックがスケジュール通りに実行されると、ノートブックの実行履歴を確認できます。
Projects » Notebooks を選択します。
スケジュールするノートブックを探して選択します。
ノートブックでスケジュールボタン、 View run history の順に選択します。
ノートブックの Run History ダイアログが表示されます。
スケジュールされたタスクまたはAPIによって生成された実行アクティビティを含む、ノートブックの実行履歴を確認できます。ユーザーによるノートブックの実行は含まれません。以下の情報を確認できます。
Trigger:ノートブックを実行された原因であるタスクの名前。
Last Ran:最後にスケジュールされたノートブック実行時のタイムスタンプ。
Status:実行されたタスクのステータス。
Duration:ノートブックの実行にかかった時間。
Results:ノートブックの実行結果へのリンク。結果は読み取り専用で、ノートブックのセルは編集できません。 Edit current notebook を選択すると、現在のバージョンのノートブックを開いて編集することができます。
オプションで View all tasks in schema を選択すると、スキーマに含まれる全タスクの表が表示されます。
Done を選択してノートブックに戻ります。
タスク履歴の表示の詳細については、 アカウントのタスク履歴を表示する をご参照ください。
独自のスケジュールの使用¶
Airflowのような独自のスケジューリングツールを使用してノートブックを実行することを好む顧客もいます。そのためには、以下のコマンドを実行します。
EXECUTE NOTEBOOK DB.SCHEMA.NOTEBOOK_NAME();
これはノートブックを上から下へセルごとに実行します。結果はノートブックの走行履歴セクションからアクセスできます。
制限事項¶
スケジュールされたノートブックの実行履歴は、過去7日間に制限されています。
スケジュールタスクとして実行されているノートブックの名前を変更すると、タスクでエラーが発生することがあります。 CREATE TASK コマンドを使って手動でタスクを編集し、変更した名前でノートブックを呼び出すことができます。