关于 Snowflake Notebooks¶
Snowflake Notebooks 是 Snowsight 中一个统一的开发界面,提供基于单元格的交互式编程环境,支持 Python、SQL 和 Markdown。在 Notebooks 中,您可以利用 Snowflake 数据进行探索性数据分析、开发机器学习模型,以及执行其他数据科学和数据工程工作流程,所有这些都可以在同一个界面中完成。
在 Snowflake 中探索和实验已有数据,或从本地文件、外部云存储或 Snowflake Marketplace 中的数据集,将新数据上传到 Snowflake。
编写 SQL 或 Python 代码,并通过逐单元格开发和执行快速比较结果。
使用嵌入式 Streamlit 可视化和 Altair、Matplotlib 或 seaborn 等其他库,交互式地实现数据可视化。
与 Git 集成,通过有效的版本控制进行协作。请参阅 将笔记本与 Git 仓库同步。
使用 Markdown 单元格和图表将结果上下文关联起来,并对不同结果进行注释。
按计划运行笔记本,实现管道自动化。请参阅 安排笔记本运行。
利用 Snowflake 中提供的基于角色的访问控制和其他数据治理功能,允许具有相同角色的其他用户查看笔记本并进行协作。
创建存储在个人数据库中的专用笔记本,您可以在其中交互式开发代码并尝试生产数据资产。请参阅 专用笔记本。

笔记本运行时¶
Snowflake Notebooks 提供两种不同的运行时,分别为特定工作负载而设计:仓库运行时和容器运行时。笔记本利用虚拟仓库(用于仓库运行时)或 Snowpark Container Services 计算池(用于容器运行时)的计算资源来执行代码。对于这两种运行时,SQL 和 Snowpark 查询始终推送到仓库中执行,以优化性能。
仓库运行时提供了最快捷的入门方式,提供熟悉且正式发布的仓库环境。容器运行时提供更加灵活的环境,可以支持多种不同类型的工作负载,包括 SQL 分析和数据工程。如果容器运行时默认不包含您需要的内容,您可以安装其他 Python 包。容器运行时还有 CPU 和 GPU 版本,预装了许多流行的 ML 包,非常适合 ML 和深度学习工作负载。
下表显示了每种运行时支持的功能。您可以使用此表来帮助决定哪种运行时适合您的用例。
支持的功能 |
仓库运行时 |
容器运行时 |
---|---|---|
计算 |
内核在笔记本仓库上运行。 |
内核在 计算池 节点上运行。 |
环境 |
Python 3.9 |
Python 3.10 |
基础镜像 |
Streamlit + Snowpark |
Snowflake 容器运行时(以及随同 Python 库预安装的 CPU 和 GPU 映像)。 |
其他 Python 库 |
使用 Snowflake Anaconda 安装或从 Snowflake 暂存区导入。 |
使用 |
编辑支持 |
Python、SQL 和 Markdown 单元格。| Reference outputs from SQL cells in Python cells and vice versa. | 使用 Streamlit 等可视化库。 |
与仓库相同 |
访问 |
需要拥有权限才能访问和编辑笔记本。 |
与仓库相同 |
支持的笔记本功能(仍处于预览阶段) |
Git 集成(预览)| 日程安排(预览) |
与仓库相同 |
有关在容器运行时中创建、运行和管理笔记本的详情,请参阅 ML 的容器运行时的笔记本。
探索笔记本¶
Snowflake Notebooks 工具栏提供了用于管理笔记本和调整单元格显示设置的控件。
控制 |
描述 |
---|---|
![]() |
Package selector:选择并安装要在笔记本中使用的包。请参阅 导入 Python 包以在笔记本中使用。 |
![]() |
Start:开始笔记本会话。当会话开始时,图像更改为 Active。 |
![]() |
Active:将鼠标悬停在该按钮上,可查看实时会话详情和资源消耗汇总指标(对于容器运行时笔记本,会显示内存使用量和 CPU/GPU 利用率指标)。选择向下箭头以访问重新启动或结束会话的选项。选择 Active 结束当前会话。 |
![]() |
Run All/Stop:运行所有单元格或停止单元格执行。请参阅 在 Snowflake Notebooks 中运行单元格。 |
![]() |
Scheduler:设置一个计划,以便将您的笔记本作为将来的任务运行。请参阅 安排笔记本运行。 |
![]() |
Vertical ellipsis menu:自定义笔记本设置、清除单元输出、复制、导出或删除笔记本。 |
在笔记本中合并单元格¶
您可以折叠单元格中的代码,只查看输出。例如,折叠一个 Python 单元格以仅显示您的代码生成的可视化,或折叠一个 SQL 单元格以仅显示结果表。
- 要更改可见内容,请选择 Collapse results。
下拉菜单提供选项以折叠单元格的特定部分。