若要使第三方或自定义代码可供在你的群集上运行的笔记本和作业使用,你可以安装库。 可以用 Python、Java、Scala 和 R 编写库。你可以上传 Java、Scala 和 Python 库,将其指向 PyPI、Maven 和 CRAN 存储库中的外部包。

本文重点介绍了如何在工作区 UI 中执行库任务。 你还可以使用库 CLI库 API 来管理库。

提示

Databricks 包含 Databricks Runtime 中的许多常用库。 若要查看 Databricks Runtime 中包含哪些库,请查看你的 Databricks Runtime 版本的 Databricks Runtime 发行说明中的“系统环境”小节。

备注

Microsoft 支持部门帮助隔离和解决 Azure Databricks 所安装和维护的库的相关问题。 对于第三方组件(包括库),Microsoft 提供商业上合理的支持,以便用户进一步排查问题。 Microsoft 支持部门会尽最大努力帮助用户解决问题。 对于托管在 Github 上的开源连接器和项目,建议在 Github 上提出和跟进问题。 标准支持案例提交流程不支持通过 shade 解决 jar 冲突或构建 Python 库等开发工作:需要通过咨询更快解决这些问题。 支持人员可能会邀请你利用其他开源技术渠道,你可以通过这些渠道找到在该技术方面拥有深入专业知识的资源。 有几个社区站点;其中两个是有关 Azure Databricks 的 Microsoft Q&A 页Stack Overflow

可以采用以下三种模式来安装库:“工作区”、“群集安装”,以及“作用域为笔记本”。

  • 工作区库充当本地存储库,你可以从中创建群集安装库。 工作区库可能是你的组织创建的自定义代码,也可能是你的组织已经标准化的开源库的特定版本。

  • 群集库可供群集上运行的所有笔记本使用。 可以直接从公共存储库(例如 PyPI 或 Maven)安装群集库,也可以从以前安装的工作区库中创建一个。

  • 作用域为笔记本的 Python 库允许你安装 Python 库并创建作用域为笔记本会话的环境。 作用域为笔记本的库不会影响在同一群集上运行的其他笔记本。 这些库不会保留,必须为每个会话重新安装这些库。

    当每个特定笔记本需要一个自定义 Python 环境时,请使用作用域为笔记本的库。 借助笔记本范围的库,你可创建、修改、保存、重用和共享 Python 环境。

    • 在 Databricks Runtime ML 6.4 及更高版本中,可通过 %pip magic 命令使用作用域为笔记本的库,在Databricks Runtime 7.1 及更高版本中,可通过 %pip magic 命令使用这些库。 请参阅作用域为笔记本的 Python 库
    • 尽管以笔记本为范围的库与 %pip 不兼容,但也可通过库实用工具使用它们(建议对所有新的工作负荷使用 %pip)。 请参阅库实用工具 (dbutils.library)

本部分的内容:

Python 环境管理

下表简要列出了可用于在 Azure Databricks 中安装 Python 的选项。

备注

  • 默认情况下,可在 Databricks Runtime 7.1(及更高版本)、Databricks Runtime 7.1(及更高版本)和 Databricks Runtime 7.1 for Genomics(及更高版本)中,通过 magic 命令使用笔记本范围的库。 在 Runtime 6.4 ML 至 7.0 ML 和 Databricks Runtime 6.4 for Genomics 至 Databricks Runtime 7.0 for Genomics 中,还可通过配置设置来使用这些库。 有关详细信息,请查看要求
  • 仅可在 Databricks Runtime 中通过库实用工具使用笔记本范围的库。 不可在 Databricks Runtime ML 或 Databricks Runtime for Genomics 上使用它们。
Python 包源 通过 %pip 使用笔记本范围的库 通过库实用工具使用笔记本范围的库 群集库 通过作业 API 使用作业库
PyPI 请使用 %pip install。 请查看示例 使用 dbutils.library .installPyPI 选择 PyPI 作为源 将新的 pypi 对象添加到作业库中,并指定 package 字段。
专用 PyPI 镜像,例如 Nexus 或 Artifactory %pip install--index-url 选项一起使用。 可使用机密管理功能。 请查看示例 使用 dbutils.library .installPyPI 并指定 repo 参数。 不支持。 不支持。
具有原始源的 VCS,例如 GitHub 使用 %pip install 并指定存储库 URL 作为包名称。 请查看示例 不支持。 选择 PyPI 作为源,并指定存储库 URL 作为包名称。 将新的 pypi 对象添加到作业库中,并指定存储库 URL 作为 package 字段。
使用原始源的专用 VCS 使用 %pip install,并指定具有基本身份验证的存储库 URL 作为包名称。 可使用机密管理功能。 请查看示例 不支持。 不支持。 不支持。
DBFS 请使用 %pip install。 请查看示例 使用 dbutils.library .install(dbfs_path) 选择 DBFS 作为源 将新的 eggwhl 对象添加到作业库中,并指定 DBFS 路径作为 package 字段。