使用 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
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。 |
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.