关于 Snowflake Notebooks

Snowflake Notebooks 是 Snowsight 中一个统一的开发界面,提供基于单元格的交互式编程环境,支持 Python、SQL 和 Markdown。在 Snowflake Notebooks 中,您可以利用 Snowflake 数据进行探索性数据分析、开发机器学习模型,以及执行其他数据科学和数据工程工作流程,所有这些都可以在同一个界面中完成。

  • 在 Snowflake 中探索和实验已有数据,或从本地文件、外部云存储或 Snowflake Marketplace 中的数据集,将新数据上传到 Snowflake。

  • 编写 SQL 或 Python 代码,并通过逐单元格开发和执行快速比较结果。

  • 使用嵌入式 Streamlit 可视化和 Altair、Matplotlib 或 seaborn 等其他库,交互式地实现数据可视化。

  • 与 Git 集成,通过有效的版本控制进行协作。请参阅 将 Snowflake 笔记本与 Git 存储库同步

  • 使用 Markdown 单元格和图表将结果上下文关联起来,并对不同结果进行注释。

  • 按计划运行笔记本,实现管道自动化。请参阅 安排 Snowflake 笔记本运行

  • 利用 Snowflake 中提供的基于角色的访问控制和其他数据治理功能,允许具有相同角色的其他用户查看笔记本并进行协作。

Snowsight UI 中的笔记本示例

笔记本运行时

Snowflake Notebooks 提供两种类型的运行时:仓库运行时和容器运行时。笔记本依赖虚拟仓库和/或 Snowpark Container Services 计算池来提供计算资源。对于这两种架构,SQL 和 Snowpark 查询始终推送到仓库中执行,以优化性能。

仓库运行时为您提供最快的入门方式,您可以使用熟悉的仓库环境。容器运行时提供更加灵活的环境,可以支持多种不同类型的工作负载,包括 SQL 分析和数据工程。如果容器运行时默认不包含您需要的内容,您可以安装其他 Python 包。容器运行时还有 CPU 和 GPU 版本,预装了许多流行的 ML 包,非常适合 ML 和深度学习工作负载。

下表显示了每种运行时支持的功能。您可以使用此表来帮助决定哪种运行时适合您的用例。

支持的功能

仓库运行时

容器运行时

计算

内核在笔记本仓库上运行。

内核在 计算池 节点上运行。

环境

Python 3.9

Python 3.10

基础镜像

Streamlit + Snowpark

Snowflake 容器运行时。CPU 和 GPU 镜像预装了许多 Python 库。

其他 Python 库

使用 Snowflake Anaconda 安装或从 Snowflake 暂存区导入。

使用 pip 安装或从 Snowflake 暂存区导入。

编辑支持

  • Python、SQL 和 Markdown 单元格。

  • 在 Python 单元格中引用 SQL 单元格的输出,反之亦然。

  • 使用 Streamlit 等可视化库。

与仓库相同

访问

需要拥有权限才能访问和编辑笔记本。

与仓库相同

支持的笔记本功能(仍处于预览阶段)

  • Git 集成(预览)

  • 日程安排(预览)

与仓库相同

开始使用 Snowflake Notebooks

要开始使用 Snowflake Notebooks,请登录 Snowsight设置您的账户以启用笔记本,然后从 Projects 窗格中选择 Notebooks。系统将显示您在账户中有权限访问的所有笔记本列表。您可以从头开始创建新笔记本,也可以上传现有的 .ipynb 文件。

如果您是 Snowflake Notebooks 的新用户,请参考下表列出的需要复习的主题:

入门指南

设置 Snowflake 笔记本

设置 Snowflake Notebooks

使用 Notebook 前的开发人员和管理员须知。

创建 Snowflake 笔记本

创建 Snowflake 笔记本

从头开始创建或从现有文件创建新笔记本。

在 Snowflake 笔记本中开发和运行代码

在 Snowflake 笔记本中开发和运行代码

创建、编辑、执行 Python、SQL、Markdown 单元格。

开发者指南

指南

描述

笔记本中的会话上下文

访问和修改会话上下文。

在笔记本中保存结果

跨会话保存笔记本和结果。

导入 Python 包以在笔记本中使用

从 Anaconda 通道导入 Python 包。

在笔记本中可视化数据并与之互动

用 matplotlib、plotly、altair 可视化数据,用 Streamlit 开发数据应用程序。

笔记本中的单元格和变量引用

引用 SQL 单元格输出和 Python 变量值。

笔记本键盘快捷键

利用键盘快捷键导航并简化编辑体验。

提升笔记本工作流程

指南

描述

将 Snowflake Notebooks 与 Git 同步

对笔记本进行版本控制,以便协作和开发。

在笔记本中处理文件

在笔记本环境中管理和处理文件。

安排笔记本运行

安排笔记本在 Snowflake 内运行和执行代码。

体验带有笔记本的 Snowflake

在 Snowflake Notebooks 中利用其他 Snowflake 功能。

在 Snowflake Notebooks 中进行故障排除

对使用 Snowflake Notebooks 时可能遇到的错误进行故障排除。

Quickstarts

重点用例

在 Github (https://github.com/Snowflake-Labs/notebook-demo) 中查看数据科学、数据工程和 ML/AI 的重点用例。

Snowflake 笔记本上的数据工程

数据工程 (https://github.com/Snowflake-Labs/snowflake-demo-notebooks/blob/main/README.md#data-engineering)

使用 SQL 和 Snowpark 开发、管理、安排和运行可扩展的数据管道。

使用 Snowflake 笔记本的数据科学

数据科学 (https://github.com/Snowflake-Labs/snowflake-demo-notebooks/blob/main/README.md#data-science)

使用 Python 和 SQL 探索、可视化和分析数据。

使用 Snowflake 笔记本进行机器学习

机器学习和 AI (https://github.com/Snowflake-Labs/snowflake-demo-notebooks/blob/main/README.md#machine-learning)

使用 Cortex 和 Snowpark ML 进行特征工程、模型训练和开发。

备注

这些快速入门仅作为示例显示。按照示例操作可能需要对非 Snowflake 拥有或提供的第三方数据、产品或服务具有额外权利。Snowflake 不保证这些示例的准确性。

其他资源

  • 有关笔记本演示、教程和示例,请参阅 GitHub (https://github.com/Snowflake-Labs/notebook-demo) 中的 Snowflake Notebooks 演示集。

  • 要观看教程视频,请查看 Snowflake Notebooks YouTube 播放列表 (link removed)。

  • 要了解 SQL 创建、执行和显示笔记本的命令,请参阅 Snowflake Notebooks API 参考

  • 您在寻找使用笔记本的参考架构、行业特定用例和解决方案最佳实践吗?请参阅 Snowflake 解决方案中心中的 笔记本示例 (https://developers.snowflake.com/solutions/?_sft_technology=notebooks)。

语言: 中文