Ms Azure 中的 Notebook 是什么?

17 Mar 2025 | 6 分钟阅读

Notebook 是一种基于 Web 的用户界面,用于包含可执行代码、图形和叙述性文本的文档。

它还包括有关制作数据可视化、将视觉对象共享为仪表板、使用小部件参数化 Notebook 和仪表板、利用 Notebook 工作流构建复杂管道以及定义 Scala Notebook 中类的最佳实践的文章。

可以使用 Workspace API、UI 和 CLI 来管理 Notebook。本文重点介绍如何使用 UI 来完成 Notebook 操作。

如何在 Microsoft Azure 中创建 Notebook

使用“创建”按钮开始。

我们可以直接单击“创建”按钮,然后在我们的默认文件夹中创建 Notebook。

  1. 通过从菜单中选择,单击“Ms Azure 中的 Notebook 是什么创建 Notebook”。将出现创建 Notebook 的对话框。
  2. 为 Notebook 命名并选择默认语言。
  3. 如果存在正在运行的群集,将显示“群集”下拉列表。选择我们要将 Notebook 附加到的群集。
  4. 按“创建”按钮。

在任何文件夹中创建一个 Notebook。

为了在任何文件夹中创建 Notebook,我们必须遵循以下步骤(例如,共享文件夹):

  1. 从侧边栏选择“工作区”。选择以下选项之一:
    • 单击“创建按钮”,然后在文本右侧菜单中的“Notebook 按钮”上,在任何文件夹旁边。
      What is a Notebook in Ms Azure
      1. 我们也可以通过单击工作区中的“创建”按钮 >“Notebook”来创建 Notebook,或者我们可以使用用户文件夹。
      2. 现在,请继续按照本文档标题使用“创建”按钮开始中的步骤 2 到步骤 4。

打开 Notebook

为了打开 Notebook,我们必须在我们的工作区中选择一个 Notebook。当您将鼠标悬停在 Notebook 标题上时,将显示 Notebook 路径。

复制 Notebook 路径

为了复制 Notebook 的路径,只需右键单击 Notebook 名称并选择“复制文件路径”即可复制 Notebook 文件路径,而无需打开 Notebook。

What is a Notebook in Ms Azure

重命名 Notebook

单击活动 Notebook 的标题并内联修改,或者转到“文件 > 重命名”进行重命名。

控制 Notebook 的访问权限

我们甚至可以在 Notebook 中选择控制访问权限。这意味着我们可以控制用户谁可以访问 Notebook。我们有工作区访问控制选项,但前提是我们的帐户是 Azure Premium 计划。

Notebook 外部格式

Azure Databricks 支持的外部 Notebook 格式包括:

  • 源文件:一个包含.scala、.py、.sql 或.r 扩展名的文件,其中仅包含源代码语句。
  • HTML:Azure Databricks Notebook 的.html 扩展名。
  • DBC 存档:这是一个 Databricks 存档。
  • IPython Notebook:这是一个 Jupyter Notebook,扩展名为 .ipynb。
  • RMarkdown:这是一个 R Markdown 文档,扩展名为 .Rmd。

导入 Notebook

可以从 URL 或文件导入外部 Notebook。

What is a Notebook in Ms Azure
  1. 从菜单中选择“导入”。
    • 选择单个 Notebook 导出到当前文件夹。
    • 如果您选择 DBC 或 ZIP 存档,将重建当前文件夹的文件夹结构,并导入每个 Notebook。

导出 Notebook

为了导出 Notebook,我们可以选择 Notebook 工具栏中的“文件选项”,然后单击“导出”选项,然后选择格式。

注意:如果以 HTML、IPython Notebook 或存档 (DBC) 格式导出 Notebook 时未清除结果,则将包含运行 Notebook 的结果。这适用于单个 Notebook 和所有 Notebook,即多个 Notebook。

导出文件夹中的所有 Notebook

要创建工作区文件夹中所有文件夹的 ZIP 存档,请遵循以下步骤:

  1. 在侧边栏中,选择“工作区”。选择以下选项之一:
    • 为了导出 Notebook,我们需要从任何文件夹旁边的文本右侧的箭头中选择“导出选项”。
    • 或者,我们也可以通过在“工作区”或用户文件夹中的向下箭头中选择“导出选项”来导出 Notebook。
  2. 然后,我们需要选择要将 Notebook 导出到的导出格式。
    • 源文件:从这个选项,我们可以创建一个 Notebook 源文件的 ZIP 包,可以导入到 Azure Databricks 工作区。
    • DBC 存档:这是一种二进制格式,其中包含元数据和 Notebook 命令的结果。
    • HTML 存档:将 HTML 文件导出为 ZIP 包。
      将包含 Notebook 命令的输出。

Notebook 和群集

在 Notebook 中进行任何工作之前,必须先将其链接到群集。本节介绍了如何将 Notebook 添加和删除到群集,以及在执行此操作时后台发生的情况。

一个群集只能拥有一定数量的执行上下文(145)。当执行上下文数量达到此限制后,您将无法将 Notebook 附加到群集或建立新的执行上下文。

空闲执行上下文

当上一次完成的执行发生在给定空闲阈值之后时,执行上下文被视为空闲。默认情况下,空闲计时器设置为 24 小时。

即使上下文被删除,使用了该上下文的 Notebook 仍然会附加到群集,并在群集的 Notebook 列表中显示。

流式处理 Notebook 始终被视为活动状态,并且在执行完成之前不会驱逐其上下文。如果空闲上下文被驱逐,UI 将显示一条通知,指出由于空闲而断开使用该上下文的 Notebook 的连接。

What is a Notebook in Ms Azure

如果您尝试将 Notebook 附加到具有最大执行上下文数量的群集,并且没有空闲上下文(或者自动驱逐已关闭),UI 将显示一条消息,说明已达到当前的执行上下文最大阈值,并且 Notebook 将保持分离状态。

What is a Notebook in Ms Azure

当您派生一个进程时,空闲执行上下文将保持空闲状态,直到派生该进程的请求完成。对于 Spark,不建议派生独立的进程。

配置上下文自动驱逐

可以使用 Spark 属性 spark.databricks.chauffeur.enableIdleContextTracking 来允许上下文自动驱逐。

  • Databricks 5.0 及更高版本默认启用自动驱逐。将 spark.databricks.chauffeur.enableIdleContextTracking 设置为 false 可为群集禁用自动驱逐。
  • Databricks 4.3 默认禁用自动驱逐。将 spark.databricks.chauffeur.enableIdleContextTracking 设置为 true 可为群集启用自动驱逐。

将群集附加到 Notebook。

将群集附加到 Notebook 需要群集级别的权限。

要将 Notebook 附加到群集,需要遵循以下步骤:

  1. 首先,我们需要单击 Notebook 工具栏,然后我们需要单击“已分离”选项。
  2. 然后,从下拉菜单中,我们需要选择一个群集。

确定 Spark 和 Databricks Runtime 版本

运行以下命令以识别 Notebook 所连接到的群集的 Spark 版本:

PythonCopy

spark.version

运行以下命令以查找 Notebook 所连接到的群集的 Databricks Runtime 版本:

Scala

ScalaCopy

dbutils.notebook.getContext.tags("sparkVersion")

Python

PythonCopy

spark.conf.get("spark.databricks.clusterUsageTags.sparkVersion")

小费

Azure Databricks 建议分离不需要的 Notebook 与群集。这样可以为驱动程序提供更多 RAM。

可以查看与群集关联的所有 Notebook。

在群集详细信息页面上,“Notebook”选项卡列出了与群集关联的所有 Notebook。还显示了每个已附加 Notebook 的状态,以及从 Notebook 运行命令的最后时间。