使用 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
Copy

该命令会在为连接定义的默认仓库中创建笔记本。可以使用 --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
Copy

下表描述了笔记本 项目定义 的属性。

笔记本项目定义属性

属性

定义

type

requiredstring

必须是 notebook

query_warehouse

requiredstring

用于托管笔记本的 Snowflake 仓库。

notebook_file

requiredstring

笔记本文件的路径。

artifacts

requiredstring sequence

上传到暂存区的文件列表。笔记本文件应包括在此列表中。

stage_path

optionalstring

指向存储工件的暂存区的路径。默认值:notebooks/<notebook_id>

compute_pool

optionalstring

要使用的 容器化笔记本 的计算池。

备注

容器化笔记本目前位于 PuPr。

runtime_name

optionalstring

要使用的 容器化笔记本 的容器运行时的名称。以下值有效:

  • SYSTEM$BASIC_RUNTIME,适用于 CPU 运行时

  • SYSTEM$GPU_RUNTIME,适用于 GPU 运行时

备注

容器化笔记本目前位于 PuPr。

identifier

optionalstring

实体的可选 Snowflake 标识符。该值可以采用以下形式:

  • 字符串标识符文本

    identifier: my-notebook-id
    
    Copy

    支持不带引号和带引号的标识符。要使用带引号的标识符,请在 YAML 值中包含周围的引号(例如,’”My Notebook”’)。

  • 对象

    identifier:
      name: my-notebook-id
      schema: my-schema # optional
      database: my-db # optional
    
    Copy

    备注

    如果指定 schemadatabase,并在 name 属性中使用完全限定名称(例如 mydb.schema1.my-notebook),则会发生错误。

以下示例上传您的项目定义文件中指定的文件,并创建一个名为 my_notebook 的新笔记本:

snow notebook deploy my_notebook
Copy
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
Copy
Notebook MY_NOTEBOOK executed.
语言: 中文