在工作区中编辑和运行笔记本¶
设置执行上下文¶
工作区中的笔记本不会自动设置数据库或架构。要查询数据,必须在单元格中使用以下 SQL 命令定义执行上下文:
USE DATABASE <database>;
USE SCHEMA <schema>;
为确保笔记本在不同环境和客户端中一致运行,请对表和其他对象使用完全限定名称。例如:
-- Query data objects using a fully qualified name
SELECT * FROM TABLE <database_name.schema_name.table_name>;
-- Create a table using a fully qualified name
WITH filtered_events AS (
SELECT
user_id,
event_type,
event_timestamp
FROM raw_events
WHERE event_timestamp >= '2025-01-01'
)
CREATE OR REPLACE TABLE <database_name.schema_name.table_name> AS
SELECT *
FROM filtered_events;
使用角色和仓库选择器¶
您可以通过笔记本编辑器左上角的选择器,或运行以下 SQL 命令来设置当前角色和仓库:
USE ROLE <role>;
USE WAREHOUSE <warehouse>;
查询仓库用于执行笔记本调用的 SQL 查询和 Snowpark 下推计算。它还用于呈现交互式数据网格,但此操作不消耗 Credit。
有关 Credit 使用详情,请参阅 设置计算。
运行单元格¶
支持四种执行选项:
运行所有单元格
运行单个单元格
运行当前单元格及其上方的所有单元格(通过单元格的省略号菜单)
运行当前单元格及其下方的所有单元格(通过单元格的省略号菜单)
取消单元格执行¶
可在笔记本顶部使用 Stop,或在单元格中使用 Cancel execution。
这两种操作都会停止当前正在执行的单元格,以及由 Run all 触发的任何排队单元格。
备注
当笔记本正在连接或重新连接服务时,Run all 按钮可能会暂时显示为 Stop。
单元格名称¶
您可以为单元格命名,以便更方便地导航,并提供上下文标签。
如果导入的 .ipynb 文件已包含名称或标题元数据,将自动使用这些值。
单元格引用¶
双向 SQL 与 Python 单元格引用可在两种语言间重用结果和变量,从而实现 SQL 与 Python 工作流程的无缝衔接。
您可以将鼠标悬停在结果提示工具上,查看可在 Python 和 SQL 中引用该结果的 DataFrame 名称。
引用 SQL 单元格结果¶
每个 SQL 单元格会将其结果公开为名为 dataframe_x 的 Pandas DataFrame 指针。
在 SQL 中,可使用双花括号引用它:
{{dataframe_1}}。在 Python 中,可直接将其作为 Pandas DataFrame 引用:
dataframe_1。
引用 Python 变量¶
在 SQL 查询中引用 Python 变量时,请将变量放在双花括号内。例如:
SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
在 SQL 中引用 Python 变量时,同样支持 DataFrame 变量。
示例工作流程¶
Python 单元格
import pandas as pd
uploaded_df = pd.read_csv("../data/diamonds.csv")
uploaded_df
SQL 单元格引用 Python 变量
SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
SQL 单元格引用 SQL 单元格结果
SQL 单元格的结果会提供名为 dataframe_1 的 DataFrame 指针。您可以在另一个 SQL 查询中引用它:
SELECT * FROM {{dataframe_1}} WHERE "carat" < 1.0
UNION ALL
SELECT * FROM {{dataframe_2}} WHERE "carat" >= 1.0;
交互式数据网格¶
数据网格支持:
滚动
搜索
筛选
排序
无需代码即可创建图表
内置图表生成器¶
在工作区的各编辑界面中,为数据操作和可视化提供一致的用户体验。
小地图与单元格状态¶
小地图会根据 Markdown 标题生成目录,并显示每个单元格的会话状态,包括正在运行、已成功、失败及已修改。
笔记本内核¶
只要笔记本服务处于 RUNNING 状态,笔记本内核就会保持活动,从而允许关键的长时间运行任务(例如 ML 训练和数据工程作业)连续执行。
不影响内核执行的操作:
浏览其他页面
在 Snowsight 的其他位置工作
关闭浏览器
关闭计算机
您可以通过 Connected 下拉菜单关闭或重启内核。
备注
使用 Shut down kernel 或 Restart kernel 将清除内存中的变量,但会保留任何用户安装的包。如果您想要一个仅包含预装包的纯净环境,则必须重新启动服务,或创建一个新服务并连接到该服务。
如果笔记本服务被暂停,笔记本内核也会随之关闭。有关详细信息,请参阅 设置计算。
Jupyter 魔法¶
工作区中的笔记本运行 IPython(交互式 Python)内核,并提供标准 Jupyter 单元格和行魔法命令。运行 %lsmagic 可查看可用的魔法命令。
使用终端¶
终端可用于:
安装依赖项
管理文件
运行并行作业
监控计算资源使用情况
必须连接到笔记本服务才能使用终端。切换到其他服务会重启终端会话。
安装并运行 htop 以实现实时监控计算资源使用情况的示例:
# If installation fails, run `apt update` first
# Install `htop`
apt install htop
# Run `htop`
htop