使用 Snowflake 笔记本¶
Snowflake CLI 包括以下 snow notebook 命令,可让您从命令行创建和执行 Snowflake 笔记本:
创建笔记本¶
备注
从 3.4.0 版开始,Snowflake CLI 添加了 snow notebook deploy 命令,以取代 snow notebook create 命令。为支持向后兼容性,您仍可使用 snow notebook create 命令创建笔记本,但 Snowflake 建议您开始使用新的 部署和创建笔记本 过程。
借助 snow notebook create 命令,您可从暂存区上现有的笔记本创建一个笔记本。该命令将返回新笔记本的链接。下面的示例会从指定的暂存笔记本创建 MY_NOTEBOOK 笔记本:
snow notebook create MY_NOTEBOOK -f @MY_STAGE/path/to/notebook.ipynb
该命令会在为连接定义的默认仓库中创建笔记本。可以使用 --warehouse 选项指定一个替代仓库,或者在连接没有定义默认仓库时指定一个。
部署和创建笔记本¶
snow notebook deploy 命令将本地文件上传到一个暂存区,并在您选择的数据库和架构中创建一个新的笔记本对象。您的项目定义文件应指定主笔记本文件和查询仓库。--replace 选项会替换指定的笔记本对象(如果已经存在)。
Snowflake 中的每个笔记本都必须包含一个 snowflake.yml 项目定义文件。
以下示例显示示例 snowflake.yml 笔记本项目定义文件:
definition_version: 2
entities:
my_notebook:
type: notebook
query_warehouse: xsmall
notebook_file: notebook.ipynb
runtime_environment_version: "2025.07"
artifacts:
- notebook.ipynb
- data.csv
下表描述了笔记本 项目定义 的属性。
属性 |
定义 |
|---|---|
type required、string |
必须是 |
query_warehouse required、string |
用于托管笔记本的 Snowflake 仓库。 |
notebook_file required、string |
笔记本文件的路径。 |
artifacts required、string sequence |
上传到暂存区的文件列表。笔记本文件应包括在此列表中。 |
stage_path optional、string |
指向存储工件的暂存区的路径。默认值: |
compute_pool optional、string |
要使用的 容器化笔记本 的计算池。 备注 容器化笔记本目前位于 PuPr。 |
runtime_name optional、string |
要使用的 容器化笔记本 的容器运行时的名称。以下值有效:
备注 容器化笔记本目前位于 PuPr。 |
runtime_environment_version optional、string |
Runtime environment version for a notebook entity in your project definition file. Notebook entity deployments will be rejected if both 备注 This field currently applies only to notebooks running on standard Snowflake warehouses, not those using compute pools (containerized notebooks). |
identifier optional、string |
实体的可选 Snowflake 标识符。该值可以采用以下形式:
|
以下示例上传您的项目定义文件中指定的文件,并创建一个名为 my_notebook 的新笔记本:
snow notebook deploy my_notebook
Uploading artifacts to @notebooks/my_notebook
Creating stage notebooks if not exists
Uploading artifacts
Creating notebook my_notebook
Notebook successfully deployed and available under https://snowflake.com/provider-deduced-from-connection/#/notebooks/DB.SCHEMA.MY_NOTEBOOK
执行笔记本¶
snow notebook execute 命令用于以无头模式执行笔记本。目前,该命令只会返回一条信息,说明笔记本是否成功执行。
snow notebook execute MY_NOTEBOOK
Notebook MY_NOTEBOOK executed.