Lakeflow Spark 声明性管道支持管道中的外部依赖项。 Databricks 建议使用两种模式之一来安装 Python 包:
- 使用 环境 设置将软件包添加到流水线环境中,以供流水线中的所有源文件使用。
- 从工作区文件中存储的源代码导入模块或库。 请参阅 从 Git 文件夹或工作区文件导入 Python 模块。
使用经典计算的管道还支持群集范围的 init 脚本。 serverless Lakeflow Spark 声明性管道不支持初始化脚本。 在所有情况下,Databricks 建议使用 环境 设置而不是 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 滚轮包。
注释
管道不支持使用 dbutils.library.restartPython() 手动重启Python进程。 通过环境设置声明所有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 库。