Lakeflow Spark 声明性管道支持管道中的外部依赖项。 Databricks 建议使用两种模式之一来安装 Python 包:
- 使用 环境 设置将软件包添加到流水线环境中,以供流水线中的所有源文件使用。
- 从工作区文件中存储的源代码导入模块或库。 请参阅 从 Git 文件夹或工作区文件导入 Python 模块。
管道还支持使用集群范围内的 init 脚本。 但是,这些外部依赖项(尤其是 init 脚本)会增加运行时升级问题的风险。 若要缓解这些风险,请尽量减少在管道中使用 init 脚本。 如果处理需要初始化脚本,请自动测试管道以提前检测问题。 如果使用 init 脚本,Databricks 建议增加测试频率。
重要
由于管道不支持 JVM 库 ,因此不要使用初始化脚本安装 JVM 库。 但是,可以使用 init 脚本安装其他库类型,例如 Python 库。
Python 库
若要指定外部 Python 库,请编辑管道的环境。
- 在管道编辑器中,单击 “设置”。
- 在 “管道”环境中,选择
编辑环境。
- 单击
添加依赖项。
- 键入依赖项的名称。 Databricks 建议锁定库的版本。 例如,若要添加对版本 3.19 的
simplejson依赖项,请键入simplejson==3.19.*。
还可以通过指定 Python 滚轮包的路径(例如 /Volumes/my_catalog/my_schema/my_ldp_volume/ldpfns-1.0-py3-none-any.whl)从 Unity 目录卷安装 Python 滚轮包。
环境版本
默认情况下,可供管道使用的Python语言版本和预安装库集来自当前的 Databricks Runtime 通道版本。 请参阅Lakeflow Spark 声明式管道的发行说明和发布升级流程,以了解当前版本和各运行时的软件包列表。
重要
此功能在 Beta 版中。 工作区管理员可以从 预览 页控制对此功能的访问。 请参阅 Manage Azure Databricks 预览版。
若要在不受 Databricks Runtime 升级影响的情况下单独固定 Python 语言的版本和预安装库集,请为管道配置环境版本。 设置了环境版本后,Databricks Runtime 的升级不会更改您的 Python 语言版本或预安装的库版本,并且您通过 Environment 设置添加的任何外部依赖项都会叠加在这一基础之上。 请参阅 配置管道的环境版本。
是否可以在管道中使用 Scala 或 Java 库?
否,管道仅支持 SQL 和 Python。 不能在管道中使用 JVM 库。 安装 JVM 库会导致不可预测的行为,并且在未来的 Lakeflow Spark 声明性管道版本中可能无法正常工作。 如果管道使用 init 脚本,则还必须确保脚本未安装 JVM 库。