使用 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 执行笔记本

You can run a notebook from a worksheet, SQL file, or any SQL client using the EXECUTE NOTEBOOK PROJECT command:

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 中相应数据库和架构下的笔记本项目。

语言: 中文