CREATE NOTEBOOK

创建新的 Snowflake 笔记本 或替换现有的笔记本。

语法

CREATE [ OR REPLACE ] NOTEBOOK [ IF NOT EXISTS ] <name>
  [ FROM '<source_location>' ]
  [ MAIN_FILE = '<main_file_name>' ]
  [ COMMENT = '<string_literal>' ]
  [ QUERY_WAREHOUSE = <warehouse_to_run_nb_and_sql_queries_in> ]
  [ IDLE_AUTO_SHUTDOWN_TIME_SECONDS = <number_of_seconds> ]
  [ RUNTIME_NAME = '<runtime_name>' ]
  [ COMPUTE_POOL = '<compute_pool_name>' ]
  [ WAREHOUSE = <warehouse_to_run_notebook_python_runtime> ]
Copy

必填参数

name

指定笔记本标识符(即名称)的字符串;在创建笔记本的架构中必须是唯一的。

此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,"My object")。放在双引号内的标识符也区分大小写。

有关更多信息,请参阅 标识符要求

可选参数

FROM 'source_location'

指定应从指定暂存区的 .ipynb 文件创建笔记本。要使用暂存区中的文件创建笔记本,请将 source_location 设置为该文件的暂存区位置,并将 MAIN_FILE 参数设置为文件的名称。

如果未指定此参数,则通过模板笔记本创建笔记本对象。

MAIN_FILE = 'main_file_name'

笔记本文件名的用户指定标识符。这与 name 参数中指定的笔记本对象名称是分开的。此文件必须是 ipynb 文件。

QUERY_WAREHOUSE = warehouse_name

指定运行笔记本中 SQL 查询的仓库。此参数是可选的。但是,需要运行 EXECUTE NOTEBOOK 命令。

IDLE_AUTO_SHUTDOWN_TIME_SECONDS = number_of_seconds

笔记本自动关闭前的空闲时间秒数。此参数仅适用于在容器运行时运行的笔记本。值必须是介于 60 和 259200(72 小时)之间的整数。

默认值:3600 秒

RUNTIME_NAME = runtime_name
  • 'SYSTEM$WAREHOUSE_RUNTIME' (default): Runs the notebook in a Snowflake warehouse (Warehouse Runtime only).

  • 'SYSTEM$BASIC_RUNTIME': Runs the notebook in a Snowpark Container Services (SPCS) container using a CPU runtime (Container Runtime only).

  • 'SYSTEM$GPU_RUNTIME': Runs the notebook in a Snowpark Container Services (SPCS) container using a GPU runtime (Container Runtime only).

When specifying a Container Runtime (SYSTEM$BASIC_RUNTIME or SYSTEM$GPU_RUNTIME), you must also include the COMPUTE_POOL parameter. SYSTEM$WAREHOUSE_RUNTIME is for Warehouse Runtime only.

COMPUTE_POOL = compute_pool_name

(Container Runtime only) Specifies the compute pool that hosts the notebook when using a Container Runtime. This parameter is required when RUNTIME_NAME is set to SYSTEM$BASIC_RUNTIME or SYSTEM$GPU_RUNTIME.

For more information about compute pools, see Snowpark Container Services:使用计算池.

WAREHOUSE = warehouse_name

The warehouse is used to run:

  • For Warehouse Runtime: Both the notebook kernel and SQL queries (including Snowpark pushdown compute).

  • For Container Runtime: Only SQL queries (including Snowpark pushdown compute). The notebook kernel runs on the compute pool.

If you don't specify a warehouse when you create a notebook, Snowflake uses the default warehouse defined by the schema lineage parameter DEFAULT_STREAMLIT_NOTEBOOK_WAREHOUSE. You can set this parameter at the schema, database, or account lineage level to define a preferred warehouse.

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

USAGE

数据库

USAGE 或 OWNERSHIP

架构

CREATE NOTEBOOK

架构

Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • When creating a notebook that uses a Container Runtime, the notebook runs inside a Snowpark Container Services environment. Container runtime notebooks must specify both the RUNTIME_NAME and COMPUTE_POOL parameters.

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

  • The OR REPLACE and IF NOT EXISTS clauses are mutually exclusive. They can't both be used in the same statement.

  • CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。

示例

以下示例将创建名为 mynotebook 的笔记本:

CREATE NOTEBOOK mynotebook;
Copy

虽然 QUERY_WAREHOUSE 参数是可选的,但建议在创建新笔记本时指定该参数,以便可以在仓库上运行 EXECUTE NOTEBOOK。

CREATE NOTEBOOK mynotebook
 QUERY_WAREHOUSE = my_warehouse;
Copy

以下示例从暂存区上的 ipynb 文件创建笔记本:

CREATE NOTEBOOK mynotebook
 FROM '@my_db.my_schema.my_stage'
 MAIN_FILE = 'my_notebook_file.ipynb'
 QUERY_WAREHOUSE = my_warehouse;
Copy

The following example creates a notebook using Container Runtime (CPU):

CREATE NOTEBOOK my_cpu_notebook
  RUNTIME_NAME = 'SYSTEM$BASIC_RUNTIME'
  COMPUTE_POOL = 'my_compute_pool';
Copy

The following example creates a notebook using Container Runtime (GPU):

CREATE NOTEBOOK my_gpu_notebook
  RUNTIME_NAME = 'SYSTEM$GPU_RUNTIME'
  COMPUTE_POOL = 'gpu_pool_1';
Copy
语言: 中文