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> ]
必填参数¶
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_RUNTIMEorSYSTEM$GPU_RUNTIME), you must also include theCOMPUTE_POOLparameter.SYSTEM$WAREHOUSE_RUNTIMEis 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_NAMEis set toSYSTEM$BASIC_RUNTIMEorSYSTEM$GPU_RUNTIME.For more information about compute pools, see Snowpark Container Services:使用计算池.
WAREHOUSE = warehouse_nameThe 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.
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
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_NAMEandCOMPUTE_POOLparameters.关于元数据:
注意
客户应确保在使用 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;
虽然 QUERY_WAREHOUSE 参数是可选的,但建议在创建新笔记本时指定该参数,以便可以在仓库上运行 EXECUTE NOTEBOOK。
CREATE NOTEBOOK mynotebook
QUERY_WAREHOUSE = my_warehouse;
以下示例从暂存区上的 ipynb 文件创建笔记本:
CREATE NOTEBOOK mynotebook
FROM '@my_db.my_schema.my_stage'
MAIN_FILE = 'my_notebook_file.ipynb'
QUERY_WAREHOUSE = my_warehouse;
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';
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';