如何使用 Microsoft Fabric 笔记本

Microsoft Fabric 笔记本是用于开发 Apache Spark 作业和机器学习试验的主要代码项。 它是一个基于 Web 的交互式图面,数据科学家和数据工程师可使用它来编写受益于丰富可视化效果和 Markdown 文本的代码。 数据工程师编写用于数据引入、数据准备和数据转换的代码。 数据科学家还使用笔记本来构建机器学习解决方案,包括创建试验和模型、模型跟踪和部署。

使用 Fabric 笔记本可以:

  • 无需设置即可开始工作。
  • 通过直观的低代码体验轻松浏览和处理数据。
  • 利用内置企业安全功能确保数据安全。
  • 使用强大的 Spark 功能,分析采用原始格式(CSV、txt、JSON 等)、已处理的文件格式(parquet、Delta Lake 等)的数据。
  • 利用增强的创作功能和内置的数据可视化功能提高工作效率。

本文介绍如何在数据科学和数据工程体验中使用笔记本。

正在运行的笔记本的安全性上下文

在 Fabric 中,可以通过三种不同的方式触发笔记本执行,完全灵活地满足不同的应用场景:

  • 交互式运行:用户通过不同的 UX 条目或调用 REST API 手动触发执行。 执行将在当前用户的安全性上下文下运行。
  • 作为管道活动运行:由 Fabric 数据工厂管道触发执行。 可在笔记本活动中查看详细步骤。 执行将在管道所有者的安全性上下文下运行。
  • 计划程序:由计划程序计划触发执行。 执行将在设置/更新计划程序计划的用户的安全性上下文下运行。

这些具有不同安全性上下文的执行选项十分灵活,可以满足不同的应用场景和要求,但同时要求你在设计和开发笔记本时注意安全性上下文,否则可能会导致意外行为,甚至出现一些安全问题。

首次创建笔记本时,会显示一条警告消息,提醒你在未检查代码的情况下运行代码存在风险。

屏幕截图,其中显示了正在运行的笔记本警告消息。

以下是一些最佳做法,有助于避免安全问题:

  • 在手动运行笔记本之前,请打开“笔记本”设置,并检查“关于”面板下的“详细信息”部分是否存在修改更新,确保同意应用最新更改。
  • 在将笔记本活动添加到管道之前,请打开“笔记本”设置,并检查“关于”面板下的“详细信息”部分是否存在修改更新,确保同意应用最新更改。 如不确定是否应用最新更改,请在将笔记本添加到管道之前,打开笔记本以查看更改。
  • 在更新计划程序计划之前,请打开“笔记本”设置,并检查“关于”面板下的“详细信息”部分是否存在修改更新,确保同意应用最新更改。 如不确定是否应用最新更改,请在更新计划程序计划之前,打开笔记本以查看更改。
  • 将工作区分为不同阶段(开发、测试、生产)并控制对不同阶段的访问,从而避免安全问题。 仅将你信任的用户添加到生产阶段。

创建笔记本

可以新建笔记本或导入现有笔记本。

创建新的 Notebook

与其他标准 Fabric 项的创建流程一样,可以从 Fabric“数据工程”主页、工作区“新建”选项或“创建中心”轻松创建新的笔记本。

导入现有笔记本

可以使用工作区工具栏中的条目从本地计算机导入一个或多个现有笔记本。 Fabric 笔记本可以识别标准 Jupyter Notebook .ipynb 文件和 .py、.scala、.sql 等源文件,并相应地创建新的笔记本项。

屏幕截图显示在“新建”菜单中找到笔记本选项的位置。

导出笔记本

可以将笔记本导出为其他标准格式。 笔记本可导出为以下格式:

  • 用于 Jupyter 笔记本的标准笔记本文件 (.ipynb)。
  • 可以直接从浏览器打开的 HTML 文件 (.html)。
  • Python 文件 (.py)。
  • Latex 文件 (.tex)。

显示导出笔记本的位置的屏幕截图。

保存笔记本

在 Fabric 中,默认情况下,打开并编辑笔记本后会自动保存,无需担心丢失代码更改。 还可以使用“保存副本”在当前工作区中克隆另一个副本,或克隆到另一个工作区。

显示在哪里保存副本的屏幕截图。

如果希望手动保存笔记本,还可以切换到“手动”保存选项以获得笔记本项的本地分支,并使用“保存”或 CTRL+S 来保存更改。

显示在哪里切换手动保存的屏幕截图。

还可以通过选择“编辑”->“保存选项”->“手动”切换到手动保存模式。 若要打开笔记本的本地分支并手动保存它,请选择“保存”或使用 Ctrl+S 快捷键。

连接湖屋和笔记本

Fabric 笔记本现在支持与湖屋的密切交互;你可以从 Lakehouse 资源管理器轻松添加新的或现有的湖屋。

可以在 Lakehouse 资源管理器中导航到不同的湖屋,并通过固定其中一个湖屋将其设置为默认湖屋。 然后,默认湖屋将装载到运行时工作目录,你可以使用本地路径读取或写入默认湖屋。

屏幕截图显示了固定默认湖屋的位置。

注意

在固定新的湖屋或重命名默认湖屋后,必须重启会话。

添加或移除湖屋

选择湖屋名称旁边的“X”图标会将其从笔记本选项卡中移除,但湖屋项仍存在于工作区中。

选择“添加湖屋”,通过添加现有湖屋或创建新湖屋来向笔记本添加更多湖屋。

浏览湖屋文件

视图的“”和“文件”部分下的子文件夹和文件显示在湖屋列表和笔记本内容之间的内容区域中。 选择“”和“文件”部分中的不同文件夹以刷新内容区域。

文件夹和文件操作

如果右键单击选择了一个文件(.csv、.parquet、.txt、.jpg、.png 等),则可以使用 Spark 或 Pandas API 加载数据。 将生成一个新的代码单元格并将其插入到焦点单元格的下方。

可以通过选择文件或文件夹轻松复制采用不同格式的路径,并在代码中使用相应的路径。

显示湖屋文件的上下文菜单的屏幕截图。

笔记本资源

笔记本资源资源管理器提供类似于 Unix 的文件系统,可帮助你管理文件夹和文件。 它提供了一个可写的文件系统空间,你可以在其中存储小型文件,例如代码模块、语义模型和图像。 可以在笔记本中使用代码轻松访问它们,就像使用本地文件系统一样。

笔记本资源的 GIF 动画。

注意

  • 内置文件夹和环境文件夹的最大资源存储空间为 500 MB,且单个文件大小最大可为 100 MB。 这些文件夹总共允许多达 100 个文件/文件夹实例
  • 使用 notebookutils.notebook.run() 时,可以使用 notebookutils.nbResPath 命令访问目标笔记本资源。 相对路径 builtin/ 将始终指向根笔记本的内置文件夹

内置资源文件夹

内置资源文件夹是每个笔记本项实例的系统预定义文件夹。 下面是笔记本资源的关键功能。

  • 可以通过 UI 使用常见操作,例如创建/删除、上传/下载、拖/放、重命名、复制和搜索。
  • 可以使用相对路径(例如 builtin/YourData.txt )进行快速浏览。 方法 notebookutils.nbResPath 可帮助你撰写完整路径。
  • 可以通过“写入湖屋”选项轻松将已验证的数据移动到湖屋。 Fabric 为常见文件类型嵌入了丰富的代码片段,可帮助你快速入门。
  • 这些资源也可通过 notebookutils.notebook.run()参考笔记本运行案例中使用。

环境资源文件夹

环境资源文件夹是一个共享存储库,旨在简化跨多个笔记本的协作。

  • 可以在环境中找到“资源”选项卡,并拥有用于管理其中的资源文件的完整操作。 将笔记本附加到当前环境后,可以在多个笔记本之间共享这些文件。

    屏幕截图显示在环境中管理资源的位置。

  • 在“笔记本”页中,可以轻松找到从附加环境继承的资源下的第二个根文件夹。

    屏幕截图显示打开环境资源文件夹的位置。

  • 还可以使用内置资源文件夹对文件/文件夹进行操作。

  • 环境资源路径将自动装载到笔记本群集,你可以使用相对路径 /env 访问环境资源

文件编辑器

通过文件编辑器可以直接在笔记本的资源文件夹和环境资源文件夹中查看和编辑文件。 支持的文件类型包括 CSV、TXT、HTML、YML、PY、SQL 等。 使用文件编辑器,可以轻松访问和修改笔记本中的文件,它支持关键字突出显示,并在打开和编辑代码文件(如 .py 和 .sql)时提供必要的语言服务

  • 通过文件菜单中的“查看和编辑”可以访问此功能。 双击文件是一种更快的方法。

    屏幕截图显示查看和编辑文件的位置。

  • 需要通过单击“保存”按钮或使用键盘快捷方式 Ctrl+S 手动保存文件编辑器上的内容更改,因为文件编辑器不支持自动保存

  • 文件编辑器也受笔记本模式影响。 如果在笔记本模式下没有编辑权限,则只能查看文件,但不能编辑这些文件。

注意

下面是文件编辑器的一些限制。

  • 文件大小限制为 1 MB
  • 以下文件类型不支持查看和编辑:.xlsx 和 .parquet

在笔记本中协作

Fabric 笔记本是一个协作项,支持多个用户编辑同一个笔记本。

打开笔记本时,默认会进入共同编辑模式,每项笔记本编辑内容都会自动保存。 如果你的同事们同时打开一个笔记本,你将看到他们的配置文件、运行输出、光标指示器、选择指示器和编辑跟踪。 使用协作功能可以轻松完成结对编程、远程调试和指导方案。

显示一个代码单元格且另一个用户正在编辑的屏幕截图。

共享笔记本

共享笔记本是与团队成员协作的便捷方式。 默认情况下,授权的工作区角色可以查看或编辑/运行笔记本。 可以使用授予的指定权限共享笔记本。

  1. 在笔记本工具栏上选择“共享”。

    屏幕截图显示在哪里选择“共享”。

  2. 选择可以查看此笔记本的人员的相应类别。 可为接收者选择“共享”、“编辑”或“运行”权限。

    屏幕截图显示在哪里选择“权限”。

  3. 选择“应用”后,可以直接发送笔记本或将链接复制给其他人。 然后,接收者可以使用其权限级别授予的相应视图打开笔记本。

    屏幕截图显示创建和发送链接的位置。

  4. 若要进一步管理笔记本权限,请选择“工作区项列表”>“更多选项”,然后选择“管理权限”。 在该屏幕中,可以更新现有笔记本访问权限和操作权限。

    屏幕截图显示在工作区中管理权限的位置。

注释代码单元格

注释是用于协作方案的另一个有用功能。 目前,Fabric 支持添加单元格级注释。

  1. 选择笔记本工具栏或单元格注释指示器上的“注释”按钮,打开“注释”窗格。

    显示在哪里选择“注释”的屏幕截图。

  2. 在代码单元格中选择代码,选择“注释”窗格中的“新建”,添加注释,然后选择“发布注释”按钮进行保存。

    显示在何处选择“新建”的屏幕截图。

  3. 如果需要,可以通过选择注释旁边的“更多”选项找到“编辑注释”、“解析线程”和“删除线程”选项。

在注释中标记其他人

“标记”是指在注释线程中提及和通知用户,从而有效地增强在细节上的协作。

  1. 在单元格中选择一段代码并新建一个注释线程。

  2. 如果要提及某人讨论特定部分,请输入用户名并在建议列表中选择正确的用户名。

  3. 共享见解并发布它们。

  4. 将触发电子邮件通知,用户单击“打开注释”链接以快速找到此单元格。

  5. 此外,在标记没有访问权限的人时,为用户授权和配置权限,确保代码资产得到良好管理。

在注释中标记他人的动画 GIF。

注意

对于注释项,如果一小时内更新注释,则标记的用户将不再收到电子邮件通知。 但是,它将向新标记的用户发送电子邮件通知。

笔记本模式切换器

Fabric 笔记本支持四种模式,你可以在它们之间轻松切换:开发模式、仅运行模式、编辑模式和查看模式。 每种模式都对应特定的权限组合。 向其他团队成员共享笔记本时,可以向收件人授予适当的权限,他们将根据权限查看最合适的笔记本模式,并且他们能够在他们有权访问的模式之间切换。

显示在哪里切换模式的屏幕截图。

  • 开发模式:需要读取、执行、写入权限
  • 仅运行模式:需要读取、执行权限
  • 编辑模式:需要读取、写入权限
  • 查看模式:需要读取权限