SQL を使用したワークスペースでのノートブックの実行

Snowsight はノートブックの非インタラクティブ(ヘッドレス)実行をサポートしています。これにより、 Snowsight を開くことなく、また定期的なスケジュールの必要なく、ノートブックのプログラム実行をトリガーできます。

ヘッドレス実行は、Airflow、Prefect、Dagster、 CI/CD パイプラインなどのツールや、ノートブックをプログラムで実行する必要がある外部システムによってオーケストレーションされたタスク、スケジュールされたタスク、またはワークフローを対象としています。

ノートブックプロジェクトを作成する

ノートブックプロジェクトがまだ存在しない場合は、 CREATE NOTEBOOK PROJECT コマンドを使用して作成してください。

CREATE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
  FROM 'snow://workspace/<workspace_path>'
  COMMENT = 'Notebook project for this workflow';
Copy

ワークスペースパスを見つけるには、次を実行します。

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

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

  3. ワークスペースを選択します。

  4. ピンアイコンを選択します。

  5. 場所をコピーします(例: snow://workspace/USER$.schema."workspacename"/versions/head )。

SQL を使用してノートブックを実行する

EXECUTE NOTEBOOK PROJECT コマンドを使用して、ワークシート、 SQL ファイル、または任意の SQL クライアントからノートブックを実行できます。

EXECUTE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
  MAIN_FILE = '<notebook_file_name>.ipynb'
  COMPUTE_POOL = '<compute_pool_name>'
  RUNTIME = '<runtime_version>'      -- e.g., 'V2.2-CPU-PY3.12'
  QUERY_WAREHOUSE = '<warehouse_name>'
  EXTERNAL_ACCESS_INTEGRATIONS = ('<integration_name>');
Copy

EXECUTE NOTEBOOK PROJECT "sales_detection_db"."schema"."DEFAULT_PROJ_B32BCFD4"
  COMPUTE_POOL = "test_X_CPU"
  MAIN_FILE = 'notebook_file.ipynb'
  RUNTIME = 'V2.2-CPU-PY3.10'
  QUERY_WAREHOUSE = "ENG_INFRA_WH"
  EXTERNAL_ACCESS_INTEGRATIONS = ('test_EAI');
Copy

実行を表示する

このコマンドは、関連するノートブックプロジェクトに保存されているバージョンを使用して、ノートブックとその依存関係を実行します。実行結果を表示するには、 Snowsight 内の対応するデータベースとスキーマの下にあるノートブックプロジェクトに移動します。