浏览 Databricks 笔记本和文件编辑器

Databricks 笔记本和文件编辑器提供键盘快捷方式、代码建议和自动完成、变量检查和代码折叠来帮助编写和导航代码。 使用笔记本或文件编辑器时,Genie Code 可用于帮助你生成、解释和调试代码。 有关详细信息 ,请参阅从 Genie Code 获取编码帮助

可以从一系列编辑器主题中进行选择。 选择“视图”>“编辑器主题”,然后从菜单中进行选择。

编辑模式和命令模式

Databricks 笔记本有两种交互模式:

  • 当光标位于单元格内时,编辑模式处于活动状态。 在此模式下,可以在单元格中键入和编辑代码或文本。 闪烁的光标显示在单元格中以指示编辑模式。 双击单元格或按 Enter 从命令模式切换到编辑模式。 按 Esc 退出编辑模式。
  • 当未编辑单元格时,命令模式处于活动状态。 在此模式下,你将把单元格作为一个单位来进行操作。 可以选择、剪切、复制、粘贴、删除、移动和重新排列单元格。 按 Esc 键切换从编辑模式到命令模式。 按 Enter 退出命令模式。

命令面板

可以使用命令面板在笔记本中快速执行操作。 若要打开笔记本操作窗格,请单击工作区右下角的 命令调色板图标,或在 MacOS 上使用快捷方式 Cmd + Shift + P 或在 Windows 上使用 Ctrl + Shift + P

命令面板

单元格执行迷你地图

要直观了解笔记本的执行状态,请使用单元格执行迷你地图。 迷你地图显示在右侧边栏,并为每个可执行单元格显示状态栏。

状态栏指示以下执行状态:

  • 浅灰色:单元格处于静态状态。
  • 深灰色:单元格已被跳过或已排队等待执行。
  • 浅灰色带移动条:单元格当前正在运行。
  • 绿色:单元已成功运行,且未出错。
  • 红色:单元格因错误而失败。

与迷你地图交互的方法:

  • 将鼠标悬停在迷你图上可查看可执行单元格的列表、标题及其执行状态。
  • 单击某个条目以直接跳转到笔记本中的该单元格。
  • 单击转到最近运行单元格转到第一个运行失败的单元格,导航到最近运行或第一个失败的单元格。

迷你图可帮助你一目了然地跟踪执行进度,并在调试或开发时快速导航。

执行迷你地图

查找和替换文本

要查找和替换当前笔记本或文件中的文本,请使用键盘快捷键( Cmd + F Mac)或Ctrl + F(Windows),或点击“编辑>”查找......打开“查找对话框。 输入要查找的文本。 当前匹配项以橙色突出显示,所有其他匹配项以黄色突出显示。 若要访问内置浏览器搜索,请再次按 Cmd + F (Mac) 或 Ctrl + F(Windows)。

单击 V 形右图标。 打开 “替换” 选项。 输入你要使用的替代文本。 若要替换当前匹配项,请单击 替换。 若要替换笔记本中的所有匹配项,请单击“全部替换”

若要在匹配项之间移动,请单击 “向上箭头”图标。 (上一个匹配项)或 向下箭头图标。 (下一个匹配)。 你也可以分别按 Shift + EnterEnter 转到上一个和下一个匹配项。

若要关闭查找和替换工具,请单击“ 关闭”图标。 或按 Esc

使用搜索窗格查找并替换 Azure Databricks Git 文件夹或声明式自动化捆绑项目中文件中的文本。 搜索范围是当前 Git 文件夹或项目的根节点。

搜索面板显示文件间匹配的文本和替换预览。

默认情况下,搜索每个文件最多显示100行匹配行、500个文件和5000个匹配,且在180秒后超时。 搜索面板显示结果被截断的时间。

要在文件间搜索和替换:

  1. 打开 Git 文件夹 或声明 式自动化包项目中的一个文件。
  2. 连接到运行Databricks Runtime 18.1及更高版本的多功能计算资源,或是无服务器计算环境5版及以后版本。 不支持 SQL 仓库。
  3. 点击左侧边栏的 搜索图标
  4. 输入搜索词。 结果按文件分组。
  5. 可选选择 匹配大小写匹配整个单词,或 使用正则表达式。 如果没有选择,Azure Databricks 会进行大小写无分的字面搜索,匹配单词的部分内容。
  6. 要按路径或文件类型限制搜索,请点击“显示文件过滤器”,并在文件中输入逗号分隔的球状模式以包含或排除文件。 例如,包含 *.py, src/** 或排除 *.ipynb
  7. 点击结果,在匹配位置打开文件。
  8. 点击 “切换替换 ”并输入替换文本。
  9. 可选选择保留 大小写 ,以适应每个匹配中的常见大小写模式。
  10. 替换一个匹配、替换一个文件中的全部匹配,或替换当前结果中的所有匹配。 你可以在不更改源文件的情况下,直接关闭匹配或文件排除。
  11. 选择 全部替换时请复查并确认操作。 “全部替换 ”仅适用于当前结果中的比赛。 如果结果被截断,隐藏匹配不会被替换。 在替换文本前,先细化搜索或使用文件筛选器缩小搜索范围。

选择搜索输入后,使用上下箭头键循环查看之前的搜索词。

替换文本是字面插入的。 替换文本中的正则表达式捕获组和转义序列不会被展开。

在写入每个文件之前,Azure Databricks 会确认每行匹配的行与搜索结果无异。 如果有任何匹配的行发生变化,Azure Databricks会跳过整个文件。 如果替换后 JSON 无法解析,Azure Databricks 也会跳过之前有效的.ipynb笔记本。

变量检查

若要显示有关 SQL 或Python笔记本中定义的变量的信息,请将光标悬停在变量名称上。 Python变量检查需要 Databricks Runtime 12.2 LTS 或更高版本。

如何检查变量

请参阅变量资源管理器

转到定义

将Python笔记本附加到计算资源时,可以快速转到变量、函数、系统模块或 %run 语句后面的代码的定义。

为此,请按住 macOS 上的 Cmd 键或 Ctrl Windows 键,并将鼠标悬停在变量、函数名称或系统模块上。 如果找到定义,则名称将变为超链接。 单击链接以跳转到其定义,该定义可能会在新选项卡中打开。也可以右键单击,然后单击“ 转到定义 ”或“ 速览”定义

如何获取函数定义

“转到定义”功能在 Databricks Runtime 12.2 LTS 及更高版本以及无服务器环境 1 及更高版本中可用。

代码折叠

使用代码折叠可以暂时隐藏部分代码。 这在处理长代码块时很有用,因为这样可以专注于你正在处理的特定代码部分。

若要隐藏代码,请将光标放在单元格的最左侧。 在可以隐藏代码部分的逻辑点处会显示向下箭头。 单击箭头可隐藏代码部分。 再次单击箭头(现已变为向右箭头)可显示代码。

如何折叠代码

有关更多详细信息(包括快捷键),请参阅 VS Code 文档

多光标支持

可以创建多个光标以方便同时进行编辑,如以下视频中所示:

如何使用多个光标

若要在一个单元格中创建多个光标,请执行以下操作:

  • 在 macOS 上,按住 Option 键并单击每个位置以添加一个光标。
  • 在Windows上,按住 Alt 键并单击每个位置添加游标。
  • 还可以选择更改快捷方式。 请参阅更改多光标和列选择的快捷方式

在 macOS 上,可以使用键盘快捷方式 Option+Command+ 向上或向下箭头键来创建多个垂直对齐的光标。

列(框)选择

若要选择列中的多个项,请单击要捕获的区域的左上角。 Then:

  • 在 macOS 上,按 Shift + Option 并向右下角拖动以捕获一列或多列。
  • 在Windows上,按 Shift + Alt 并拖动到右下角以捕获一个或多个列。
  • 还可以选择更改快捷方式。 请参阅更改多光标和列选择的快捷方式

如何选择列

更改多光标和列选择的快捷方式

可以将另一种快捷方式用于多光标和列(框)选择。 使用替代选择,快捷方式会发生如下变化:

  • 若要在一个单元格中创建多个光标,请执行以下操作:
    • 在 macOS 上,按住 Cmd 键并单击每个位置以添加一个光标。
    • 在Windows上,按住 Ctrl 键并单击每个位置添加游标。
  • 若要选择列中的多个项,请单击要捕获的区域的左上角。 Then:
    • 在 macOS 上,按 Option 并向右下角拖动以捕获一列或多列。
    • 在Windows上,按 Alt 并拖动到右下角以捕获一个或多个列。

若要打开备用快捷方式,请执行以下操作:

  1. 单击工作区右上角的用户名,然后单击下拉列表中的 “设置 ”。
  2. 在“设置”边栏中,选择“开发人员”。
  3. Code 编辑器部分中,将多光标点击的键修饰符设置为 macOS 上的Cmd或 Windows 上的Ctrl

打开备用快捷方式时,用于创建多个垂直对齐光标的键盘快捷方式不会更改。

浏览数据

使用架构浏览器浏览可用于笔记本的 Unity 目录对象。 单击“ 数据”图标。 在笔记本左侧打开架构浏览器。

为你按钮仅显示在当前会话中使用的或以前标记为收藏的对象。

筛选器 框中键入文本时,显示将更改为仅显示包含您键入的文本的对象。 仅显示当前打开或已在当前会话中打开的对象。 筛选框不会对笔记本可用的目录、架构、表和卷进行全面搜索。

若要打开 Kebab 菜单图标。kebab 菜单,请将光标悬停在对象名称上,如下所示:

架构浏览器中的 架构浏览器中的 kebab 菜单

如果对象是表,可以执行以下操作:

  • 自动创建并运行单元格以显示表中数据的预览。 从表的 kebab 菜单中选择在“新单元格中预览”
  • 在目录资源管理器中查看目录、架构或表。 从 kebab 菜单中选择“在目录资源管理器中打开”。 此时会打开一个新选项卡,其中显示了所选对象。
  • 获取目录、架构或表的路径。 从对象的 kebab 菜单中选择“复制...路径”
  • 将表添加到收藏夹。 从表的 kebab 菜单中选择“添加到收藏夹”

如果该对象是目录、架构或卷,则你可以复制该对象的路径,或在目录资源管理器中将其打开。

若要直接在单元格中插入表或列名,请执行以下操作:

  1. 在单元格中你想要输入名称的位置单击光标。
  2. 将光标移到架构浏览器中的表名或列名上。
  3. 单击双箭头 雪佛龙双右图标。该图标 显示在对象名称右侧。

使用 Web 终端和 Databricks CLI

若要在笔记本中打开 Web 终端,请单击终端 图标终端图标 。在右侧栏底部。

在 Databricks Runtime 15.0 及更高版本中,可以从笔记本中的 Web 终端使用 Databricks CLI。 有关要求和使用情况信息,请参阅 Azure Databricks Web 终端中的 Run shell 命令

不能从笔记本单元使用 CLI。 在笔记本中,命令如 %sh databricks ... 在 Databricks Runtime 15.0 及更高版本中不起作用。

个性化自动完成

当你键入代码段时,自动完成会自动补全代码。 可完成的对象包括类型、类和对象,以及 SQL 数据库、表名称、结构、映射、数组和 查询代码段。 引用使用 SELECT * 的通用表表达式 (CTE) 时,自动完成功能会根据底层表结构提供列建议。 Databricks 使用 Unity Catalog 元数据和使用情况来个性化建议。

  • 对于Python单元格,为了使自动补全功能正常工作,笔记本必须连接到计算资源,并且必须运行定义可补全对象的所有单元格
  • 对于 SQL 单元格,"autocomplete" 会建议关键字和基本语法,即使笔记本未连接到任何计算资源。
    • 如果为 Unity Catalog 启用了工作区,则自动完成还会为 Unity Catalog 中的表建议目录、架构、表和列名称。
    • 如果工作区未启用 Unity Catalog,则笔记本必须连接到通用计算资源或SQL 数据仓库,才能提供表名或列名建议。

当你在单元格中键入时,自动完成建议会自动显示。 使用向上和向下箭头键或鼠标选择一项建议,然后按 Tab 或 Enter 将选择的项插入到单元格中。

Note

在执行命令的过程中,会阻止 R 笔记本中的服务器自动完成功能。

默认情况下启用自动完成,但在 用户设置中可以禁用:

  • 若要关闭自动完成建议,请切换“在键入时自动完成”。 当自动完成功能关闭时,可以通过按“Ctrl + 空格键”来显示自动完成建议。
  • 若要防止 Enter 键插入自动完成建议,请切换“Enter 键接受自动完成建议”

括号匹配

在圆括号、方括号或大括号附近单击时,编辑器会突出显示该字符及其匹配的括号。

显示相应的括号

Python 错误突出显示

语法错误突出显示的代码操作示例

启用了合作伙伴驱动的 AI 功能的工作区还可以选择使用助手修复以获取 AI 辅助的建议。

Databricks 笔记本支持以下错误突出显示:

  • Python语法错误突出显示:Python代码单元格中的任何语法错误都以红色突出显示。 如果可能,Genie Code 会为你建议快速修复。 这适用于运行 Databricks Runtime 12.1 及更高版本的计算或无服务器计算。 你可以使用 pyproject.toml 文件配置语法错误突出显示。 请参阅 配置 Python 语法突出显示
  • Python格式错误突出显示:Python代码格式错误和警告用黄色或红色下划线标出,具体取决于严重性。 这有助于识别格式问题,例如意外缩进、长行长度等。 将鼠标悬停在语法警告消息上可查看详细信息。 这适用于运行 Databricks Runtime 12.1 及更高版本的计算或无服务器计算。
  • Python类型错误突出显示:类型检查可以提高Python和 PySpark 项目中的代码质量、可读性和可维护性。 类型检查器可以标记与不存在的属性、缺失参数和函数调用中不匹配的参数相关的错误,然后再执行代码。 将鼠标悬停在突出显示的警告上以查看详细信息。 这支持运行 Databricks Runtime 16.0 及更高版本或无服务器环境 2 的计算。

启用Python错误突出显示

若要打开或关闭错误突出显示,请执行以下操作:

  1. 单击工作区右上角的用户名,然后单击下拉列表中的 “设置 ”。
  2. 在“设置”边栏中,选择“开发人员”。
  3. 切换Python语法错误突出显示(在代码编辑器下),Python格式错误突出显示(在实验功能下)和/或Python类型错误突出显示(在实验功能下)。

配置 Python 语法高亮显示

当笔记本连接到运行 Databricks Runtime 16.4 或更高版本或无服务器环境版本 3 或更高版本的计算时,可以通过创建一个 pyproject.toml 文件来自定义语法突出显示的行为。 对于给定的笔记本,将使用工作区文件系统中其直接上级路径中最近的 pyproject.toml 文件。 如果在上级路径中找不到一个 pyproject.toml 文件,则使用当前用户的主文件夹中的文件。

例如,如果您的笔记本路径为 a/b/c/d/notebook.py,且在 pyproject.tomla/b/pyproject.toml 位置分别存在 a/b/c/pyproject.toml 个文件,则会使用第二个文件,因为它位置更近。 pyproject.toml 路径下的 /a/b/c/e/pyproject.toml 文件不会被考虑,因为它不在直接祖先路径中。

Azure Databricks对 pyproject.toml 文件使用标准语法。 例如,可以参考 Ruff 文档 ,了解如何使用 pyproject.toml 文件配置 Ruff linter。

目前,Azure Databricks 仅支持通过 ruff 配置 pylintpyrightflake8pyproject.toml 进行代码检查。

要启用代码检查器,pyproject.toml 文件中必须包含 [tool.<name-of-linter>] 代码块。

要显式禁用代码检查器,请添加以下块:

[tool.<name-of-linter>]
disabled=true

您还可以使用这样的块来禁用Azure Databricks编写的语法高亮规则,例如:

[tool.databricks]
disabled_rules = ['DB01', 'DB03']

由于 Flake8 需要采用不同格式的配置,因此必须以字符串的形式传入 Flake8 的配置:

[tool.flake8]
config = """ \
[flake8] \
extend_ignore = E303 \
"""

自定义 SQL 格式

可以在新的 SQL 编辑器和笔记本编辑器中自定义 SQL 格式设置。 单击“ 查看 > 开发人员设置”。 向下滚动到 SQL 格式 并指定设置。

访问自定义 SQL 格式设置

使用键盘快捷方式

若要显示键盘快捷方式,请选择 帮助 > 键盘快捷方式。 键盘快捷键是否可用取决于光标是位于代码单元中(编辑模式),还是不位于代码单元中(命令模式)。

下表显示了可用的键盘快捷方式。

编辑模式快捷方式

功能 MacOS 快捷方式 Windows快捷方式
切换到命令模式 Esc Esc
运行命令并在下方插入新单元格 Option + Enter Alt + Enter
在上方插入单元格 Ctrl + Option + P Ctrl + Alt + P
在下方插入单元格 Ctrl + Option + N Ctrl + Alt + N
移动到上一/下一个单元格 Option + Up/Down Alt + Up/Down
在光标处拆分单元格 Ctrl + Option + - Ctrl + Alt + -
删除当前行 + Shift + K Ctrl + Shift + K
删除当前单元格 Ctrl + Option + D Ctrl + Alt + D
向上移动或跳转到上一单元格 Up Up
向下移动或跳转到下一单元格 Down Down
自动完成 Ctrl + Space Ctrl + Space
Genie 代码自动补全 Ctrl + Shift + Space Ctrl + Shift + Space
内联 Genie 代码 + I Ctrl + I
参数提示 + Shift + Space Ctrl + Shift + Space
文档字符串 + (KI Ctrl + (KI
多个游标 Option + Click Alt + Click
列(框)选择 Option + Shift + Drag Alt + Shift + Drag
选择缩进/取消缩进 + ]/[ Ctrl + ]/[
撤销输入 + Z Ctrl + Z
重做键入 + Shift + Z Ctrl + Shift + Z
切换行注释 + / Ctrl + /
添加行注释 + (KC Ctrl + (KC
删除行注释 + (KU Ctrl + (KU
多光标编辑 + Option + Up/Down Ctrl + Option + Up/Down
增加字号 Option + + Alt + +
减小字号 Option + - Alt + -

命令模式快捷方式

功能 Mac OS 快捷方式 Windows快捷方式
切换到编辑模式 Enter Enter
取消所选单元格的执行 II II
取消执行(跳过提示) Shift + (II Shift + (II
删除当前单元格 DD DD
删除当前单元格(跳过提示) Shift + (DD Shift + (DD
转到第一个单元格 GG GG
转到最后一个单元格 Shift + G Shift + G
撤销剪切/删除单元格 + Z/Z Ctrl + Z/Z
复制当前单元格 + C Ctrl + C
剪切当前单元格 + X Ctrl + X
粘贴单元格 + V Ctrl + V
在上方插入单元格 A A
在下方插入单元格 B B
切换单元格输出 O O
切换单元格标题 T T
向下滚动 Space Space
向上滚动 Shift + Space Shift + Space
切换键盘快捷方式菜单 H H
与下面的单元格合并 Shift + M Shift + M
移动到上一个单元格 Up/P/K Up/P/K
移动到下一个单元格 Down/N/J Down/N/J
将相邻单元格添加到选定区域 Shift + Up/Down Shift + Up/Down
选择所有单元格 + A Ctrl + A
选择多个单元格 + Click Ctrl + Click
切换行号 L L
展开/折叠单元格标题 Right/Left Right/Left

共享快捷方式

功能 MacOS 快捷方式 Windows快捷方式
切换命令面板 + Shift + P Ctrl + Shift + P
查找 + F Ctrl + F
Ctrl + Option + F Ctrl + Alt + F
格式代码 + Shift + F Ctrl + Shift + F
运行命令并跳转到下一单元格 Shift + Enter Shift + Enter
运行所选命令 + Enter Ctrl + Enter
调试单元格 Option + Shift + D Alt + Shift + D
调试器:继续 F7 F7
调试器:下一行 F8 F8
调试器:步入 F9 F9
调试器:步出 Shift + F9 Shift + F9
运行所有命令 Option + Shift + Enter Alt + Shift + Enter
运行上述所有命令(独占) Option + Shift + Up Alt + Shift + Up
运行以下的所有命令(包括在内) Option + Shift + Down Alt + Shift + Down
清除状态和输出 00 00
运行所选文本或活动语句 Ctrl + Shift + Enter Ctrl + Shift + Enter
运行活动 SQL 语句 + Shift + Enter Ctrl + Shift + Enter
向上移动单元格 Ctrl + Option + Up Ctrl + Alt + Up
向下移动单元格 Ctrl + Option + Down Ctrl + Alt + Down
切换批注面板/添加批注 Ctrl + Option + M Ctrl + Alt + M
切换工作区面板 Ctrl + Option + E Ctrl + Alt + E
切换目录面板 Ctrl + Option + C Ctrl + Alt + C
切换 Genie 代码面板 Ctrl + Option + A Ctrl + Alt + A
切换焦点模式 Ctrl + Option + O Ctrl + Alt + O
关闭当前选项卡 Ctrl + Option + W Ctrl + Alt + W
创建新选项卡 Ctrl + Option + T Ctrl + Alt + T
切换到左侧选项卡 Ctrl + Option + Left Ctrl + Alt + Left
切换到右侧选项卡 Ctrl + Option + Right Ctrl + Alt + Right
关闭所有选项卡 Ctrl + Option + Shift + A Ctrl + Alt + Shift + A