本文介绍如何使用无服务器笔记本 的环境 端面板配置依赖项、无服务器预算策略、内存和环境版本。 此面板提供一个用于管理笔记本的无服务器设置的位置。 在此面板中配置的设置仅适用于笔记本连接到无服务器计算时。
若要展开 “环境 ”侧面板,请单击笔记本右侧
按钮。
使用无服务器 GPU 计算
Important
无服务器 GPU 计算处于 Beta 阶段。
使用以下步骤在 Databricks 笔记本上使用无服务器 GPU 计算:
- 在笔记本中,单击顶部的 “连接 ”下拉菜单,然后选择 “无服务器 GPU”。
- 单击
打开 “环境 ”侧面板。
- 从“加速器”字段中选择 A10。
- 为默认环境选择“无”,或者从“基础环境”字段中为 AI 环境选择“AI v4”。
- 如果选择“基本环境”字段中的“无”,请选择“环境”版本。
- 单击 “应用 ”,然后 确认 要将无服务器 GPU 计算应用到笔记本环境。
有关详细信息,请参阅 无服务器 GPU 计算。
使用高内存无服务器计算
Important
此功能目前以公共预览版提供。
如果在笔记本中遇到内存不足错误,则可以将笔记本配置为使用更高的内存大小。 此设置会增加在笔记本中运行代码时使用的 REPL 内存的大小。 它不会影响 Spark 会话的内存大小。 内存较高的无服务器使用的DBU排放率高于标准内存。
- 在笔记本 UI 中,单击环境侧面板
。 - 在 内存下,选择 高内存。
- 单击“应用”。
此设置也适用于使用笔记本的内存首选项运行的笔记本作业任务。 更新笔记本中的内存首选项会影响下一个作业运行。
选择无服务器预算策略
Important
此功能目前以公共预览版提供。
无服务器预算策略允许组织对无服务器使用情况应用自定义标记,以实现精细计费属性。
如果工作区使用无服务器预算策略来属性无服务器使用情况,则可以选择要应用于笔记本的无服务器预算策略。 如果用户仅分配到一个无服务器预算策略,则默认选择该策略。
使用 “环境” 端面板将笔记本连接到无服务器计算后,可以选择无服务器预算策略:
- 在笔记本 UI 中,单击环境侧面板
。 - 在 预算策略 下,选择要应用于笔记本的无服务器预算策略。
- 单击“应用”。
完成此设置后,所有笔记本使用情况都会继承无服务器预算策略的自定义标记。
Note
如果笔记本源自 Git 存储库,或者没有分配的 无服务器预算策略,则它将在下一次附加到无服务器计算时默认为上次选择的无服务器预算策略。
选择环境版本
环境版本允许无服务器工作负荷接收独立的引擎升级,而不会影响应用程序兼容性。 若要查看每个环境版本的详细信息,请参阅 无服务器环境版本。 Databricks 建议选择最新版本,以获取最新的笔记本功能。
若要选择环境版本,请执行以下步骤:
- 在笔记本 UI 中,单击环境侧面板
。 - 在 “环境版本”下,选择一个版本。
- 单击“应用”。
将依赖项添加到笔记本
由于无服务器不支持计算策略或 init 脚本,因此必须使用 环境 端面板添加自定义依赖项。 可以单独添加依赖项,也可以使用可共享的基础环境来安装多个依赖项。
若要单独添加依赖项::
在笔记本 UI 中,单击环境侧面板
。在“ 依赖项 ”部分中,单击“ 添加依赖项 ”,并在字段中输入依赖项的路径。 可以在 requirements.txt 文件中指定有效的任何格式的依赖项。 Python wheel 文件或 Python 项目(例如,包含
pyproject.toml或setup.py的目录)可以位于工作区文件或 Unity 编录卷中。- 如果使用工作区文件,则路径应为绝对路径,以
/Workspace/开头。 - 如果在 Unity 目录卷中使用文件,路径应采用以下格式:
/Volumes/<catalog>/<schema>/<volume>/<path>.whl
- 如果使用工作区文件,则路径应为绝对路径,以
单击“应用”。 这会在笔记本虚拟环境中安装依赖项,并重启 Python 进程。
Important
不要在无服务器笔记本上安装 PySpark 或任何将 PySpark 作为依赖项安装的库。 这样做会停止会话并导致出现错误。 如果发生这种情况,请删除库并重置环境。
若要查看已安装的依赖项,请单击“环境”侧面板中的“已安装”选项卡。 还可以通过单击面板底部的 pip 日志 来获取笔记本环境的 pip 安装日志。
将依赖项添加到基本环境
基本环境是存储为工作区文件的 YAML 文件,或存储在指定其他环境依赖项的 Unity Catalog 卷上。 可以从 “基本环境 ”下拉菜单中选择工作区的基本环境之一,也可以选择“ 自定义 ”以使用自定义环境规范。
可以在基本环境的基础上单独安装其他依赖项。 单独安装的依赖项会覆盖或扩展该笔记本的基本环境。
有关工作区管理员说明,请参阅 管理无服务器基础环境。
创建自定义环境规范
可以创建和重复使用自定义环境规范。
- 在无服务器笔记本中,选择环境版本并添加要安装的任何依赖项。
- 单击“烤肉”菜单
在环境面板底部,然后单击“ 导出环境”。
- 将规范保存为工作区文件或 Unity 目录卷。
若要在笔记本中使用自定义环境规范,请从“基本环境”下拉菜单中选择“自定义”,然后使用文件夹图标 re:[文件夹图标] 选择 YAML 文件。
创建可在工作区中共享的常用实用工具
以下示例演示如何将通用实用工具存储在工作区文件中,并将其添加为无服务器笔记本中的依赖项:
使用以下结构创建文件夹。 验证项目的使用者是否对文件路径具有适当的访问权限:
helper_utils/ ├── helpers/ │ └── __init__.py # your common functions live here ├── pyproject.toml按如下方式填充
pyproject.toml:[project] name = "common_utils" version = "0.1.0"向文件添加函数
init.py。 例如:def greet(name: str) -> str: return f"Hello, {name}!"在笔记本 UI 中,单击“环境侧面板
在“ 依赖项 ”部分中,单击“ 添加依赖项 ”,然后输入 util 文件的路径。 例如:
/Workspace/helper_utils。单击“应用”。
现在可以在笔记本中使用函数:
from helpers import greet
print(greet('world'))
此输出方式为:
Hello, world!
重置环境依赖项
如果笔记本连接到无服务器计算,Databricks 会自动缓存笔记本虚拟环境的内容。 这意味着打开现有笔记本时,通常无需重新安装在 环境 侧面板中指定的 Python 依赖项,即使由于不活动而断开连接也是如此。
Python 虚拟环境缓存也适用于作业。 运行作业时,任何与该运行中已完成任务共享相同依赖项的任务都会更快,因为所需的依赖项已经可用。
Note
如果更改无服务器作业中使用的自定义 Python 包的实现,则还必须更新其版本号,以便作业可以采用最新的实现。
若要清除环境缓存并执行附加到无服务器计算的笔记本 的环境端面板中 指定的依赖项的全新安装,请单击 “应用 ”旁边的箭头,然后单击“ 重置为默认值”。
如果安装了会中断或更改核心笔记本或 Apache Spark 环境的包,您应先删除这些有问题的包,然后重置环境。 启动新会话不会清除整个环境缓存。
配置默认 Python 包存储库
工作区管理员可以将工作区中的专用或经过身份验证的包存储库配置为无服务器笔记本和无服务器作业的默认 pip 配置。 这允许用户从内部 Python 存储库安装包,而无需显式定义 index-url 或 extra-index-url。
有关说明,工作区管理员可以参考 “配置默认 Python 包存储库”。
为作业任务配置环境
对于笔记本、Python 脚本、Python 滚轮、JAR 或 dbt 任务等作业任务类型,库依赖项继承自无服务器环境版本。 若要查看已安装库的列表,请参阅正在使用的环境版本的已安装 Python 库或已安装的 Java 和 Scala 库部分。 如果任务需要未安装的库,则可以从 工作区文件、Unity 目录 卷或公共包存储库安装库。
对于具有现有笔记本环境的笔记本,可以使用笔记本的环境运行任务,也可以改为选择作业级环境来替代该任务。
Important
对 JAR 任务使用无服务器计算处于 Beta 阶段。
要在创建或编辑作业任务时添加一个库:
在“环境和库”下拉菜单中,单击
Edit Icon“默认”环境旁边的 ,或单击“+添加新环境”。
从 环境版本 下拉列表中选择环境版本。 请参阅 无服务器环境版本。 Databricks 建议选择最新版本,以获取最新的功能。
在“配置环境”对话框中,单击“+添加库”。
从“库”下的下拉菜单中选择依赖项的类型。
在“文件路径”文本框中,输入库的路径。
对于工作区文件中的 Python Wheel,路径应该是绝对路径,以
/Workspace/开头。对于 Unity Catalog 卷中的 Python Wheel,路径应为
/Volumes/<catalog>/<schema>/<volume>/<path>.whl。对于
requirements.txt文件,请选择 PyPi 并输入-r /path/to/requirements.txt。
- 单击“确认”或“+添加库”以添加其他库。
- 如果要添加任务,请单击“ 创建任务”。 如果要编辑任务,请单击“ 保存”任务。