返回
RSS Snowflake Engineering (Medium) AI 逐段翻译 精选 发布 2026-09-04 03:45

Snowflake Notebooks新增强可观测性与运行控制

DataHot 速览

Snowflake Notebooks发布了面向交互开发和生产定时运行的可观测性与控制改进。开发时可在笔记本内实时查看CPU和内存使用情况,并通过颜色预警及时识别资源风险。点击仪表可查看各文件对内存的占用分解,以及后台进程消耗。遇到高负载时,界面会推荐操作,如让CoCo分析瓶颈、扩展到更大计算池或重启内核,方便用户快速排查问题。

为什么值得关注:数据开发与生产调度中的Notebook可观测性是平台运维的重要环节,Snowflake将资源监控直接嵌入Notebook,能帮助数据团队减少运行失败并优化成本。

本文目录 11 节
  1. 面向交互式开发与生产环境运行的全新可观测性与控制功能
  2. 在 notebook 中:随时查看和控制计算资源
  3. 实时 CPU 和内存仪表
  4. 在工作区域直接显示利用率细分
  5. 服务详情窗格
  6. 在生产环境中:自信地对计划运行进行故障排查
  7. 可实际操作的错误消息
  8. 在运行开始前捕获问题
  9. 全面生动的日志
  10. 从运行直接跳到其查询
  11. 试试吧

译文

AI 逐段翻译

面向交互式开发与生产环境运行的全新可观测性与控制功能

如果你在 Snowflake Workspaces 中开发 Notebook,本篇文章正是为你准备的。我们针对两种常见工作流推出了重大改进。

  • 在开发过程中: 我的交互式会话状态是否良好,以及如何保持?
  • 在安排运行后: 运行是否成功,如果失败,具体出了什么问题?

你现在可以在 notebook 运行的每个阶段获得可见性,在交互式开发过程中对计算资源进行实操控制,并在生产环境中获得更深入的调试可观测性。

在 notebook 中:随时查看和控制计算资源

交互式 notebook 和 Python 文件在容器服务上运行,具有固定的 CPU 和内存池。每位开发者都应能够即时获得所需计算资源并高效使用,因此我们在 notebook 中加入了会话内存和 CPU 的实时视图以及相应控制功能。你可以查看工作如何利用服务,在达到限制之前获得早期信号,从而无需离开 notebook 即可轻松避免因内存溢出而重启。

实时 CPU 和内存仪表

页脚现在实时显示服务的当前 CPU 和内存利用率。正常使用时保持中性,进入警戒区时变为黄色,在高利用率时变为红色,以便你提前应对,避免故障。

在工作区域直接显示利用率细分

点击仪表会弹出一个弹出窗口,显示内存消耗的详细分析。每个已连接的文件(notebook 和 Python)都会以颜色编码与总量对比,让你一目了然地看到哪个文件占用较高。可展开的“其他”部分涵盖其余部分:Snowflake 在服务上运行的后台进程,如 Ray、服务基础设施、终端等。

当处于警戒或高利用率区域时,弹出窗口还会提供推荐操作:

  • 使用 CoCo 检查: 让 CoCo 分析你的文件以定位潜在瓶颈和优化空间。
  • 在更大的计算池上创建新服务: 在需要更多空间时进行扩容。
  • 重启当前文件的内核: 回收当前 notebook 或 Python 文件占用的内存。
  • 管理所有运行中的内核: 查看并操作当前正在运行的所有内核。

服务完整详情链接一键可达。

服务详情窗格

为提供完整信息,新的服务详情窗格会在工作区的底部窗格中打开,需要更多空间时可展开为全屏。它包含四个标签页。

概览 一眼查看服务的实时状态和配置:计算池、运行时、空闲超时设置、已启用的外部访问集成、Python 版本和当前运行时间,以及所有当前连接到服务的 notebook 和 Python 文件。

资源监控 在时间轴上跟踪每个已连接文件以及必需后台进程的 CPU 和内存使用情况,并标记警告和阈值。筛选最近 10 分钟、1 小时、6 小时或 24 小时;缩小到特定文件;或隐藏后台进程以专注于你自己的代码。从每个图表下方的列表中,你可以关闭任何内核以释放资源,CoCo 就近在咫尺,可调查任何意外文件的高利用率。

日志 浏览服务上运行的所有内容发出的日志事件。按日志级别、容器实例和来源筛选;按严重性和时间戳排序;展开任何条目以阅读完整消息。(下文将详细介绍这些事件——同样的日志流也为生产运行提供支持。在交互式开发中,这会实时跟踪服务运行时的日志,让你能即时看到事件,而非搜索历史。)

查询 查看服务中运行的所有 SQL 查询,让你的 notebook 中执行的 SQL 不再是个黑匣子。“查询”标签页要求服务运行时版本 2.8 或更高。

页脚的指示器和服务详情窗格共同为你提供对 notebook 和 Python 文件运行环境的持续性上下文透明性,并能进行相应控制,无需离开当前工作。

在生产环境中:自信地对计划运行进行故障排查

当您讲 notebook 部署为笔记本项目对象 (NPO) 并按计划、任务或通过编排器运行时,您需要清晰且可操作的洞察。以下是具体实现:

可实际操作的错误消息

失败现在被分为具体类别。系统方面的问题明确标记为内部错误,因此你知道这不是代码问题,而用户方面的问题则返回精确、可自行解决的消息。不再使用笼统的字符串,而是显示实际原因,例如:

  • 某个单元格执行失败。
  • 某个单元格执行超时。
  • 找不到 Notebook 文件 — 请检查文件路径是否存在,然后重试。
  • 不支持此 Notebook 格式。仅支持Jupyter notebook格式版本4.5及以上。
  • 从 requirements 文件安装包失败 — 检查每个包名和版本,并确保所需的任何外部网络访问已获授权。

由于内部错误和用户错误之间的区别是明确的,因此你可以立即知道是重试、修复 notebook,还是寻求帮助。

在运行开始前捕获问题

常见的错误配置现在会在 SQL 编译时进行前期验证,而不是在执行过程中才失败。缺失 requirements 文件或主 notebook 文件会立即失败,并显示清晰友好的错误,让你能在几秒钟内修复,而不是等待运行崩溃。

全面生动的日志

我们扩展了执行期间发出的日志事件,因此运行历史记录读起来像叙述,而非不透明的流。日志现在涵盖:

  • 服务生命周期 — 启动、就绪、进入空闲(可能挂起)、恢复和关闭。
  • 内核生命周期 — 创建、删除和创建失败。
  • Jupyter 服务器健康——意外退出、自动重启和启动失败。
  • 内存压力和 OOM 保护——当内核被停止以回收内存并避免内存不足关闭时,以及当容器超过其内存限制时。
  • 结果缓存——诸如单元格结果保存失败等问题。
  • 每次运行的标记——清晰的执行开始和结束事件,以及执行前运行的静态验证的通过/失败摘要。

这些事件既显示在交互式日志选项卡中,也显示在计划的运行历史中,并且带有严重级别,以便您在处理问题时可以仅过滤警告和错误。

从运行直接跳到其查询

NPO 运行历史现在包含一个查询 ID 列,并提供指向该执行的查询结果页面的直接链接。从“此运行失败”到精确查询及其详细信息现在只需单击一下即可完成。

试试吧

这里的一切都是对已有功能的增强。下次您在笔记本中时,瞥一眼底栏以查看您的计算状态;下次计划运行不符合预期时,打开其运行历史,您将拥有更多的信息可供使用。

如需深入了解,请参阅工作区中的笔记本文档

Snowflake 笔记本新功能:更多可见性,更少猜测最初发布于Snowflake Builders 博客:数据工程师、应用开发者、AI 与数据科学在 Medium 上,人们在那里通过突出和回应这个故事来继续对话。

这篇内容对你有用吗?

反馈只用于改善内容筛选,不等同于收藏

分享这条资讯
分享海报
保存图片
iOS 也可以长按图片保存