管理管道的 Python 依赖项

Lakeflow 管道支持在管道中使用外部依赖项。 Databricks 建议使用两种模式之一来安装 Python 包:

  1. 使用 环境 设置将软件包添加到流水线环境中,以供流水线中的所有源文件使用。
  2. 从工作区文件中存储的源代码导入模块或库。 请参阅 从 Git 文件夹或工作区文件导入 Python 模块

使用经典计算的管道还支持群集范围的 init 脚本。 无服务器 Lakeflow 管道不支持初始化脚本。 在所有情况下,Databricks 建议使用 环境 设置而不是 init 脚本,因为外部依赖项(尤其是 init 脚本)会增加运行时升级问题的风险。 如果处理需要 init 脚本,请自动测试管道以尽早检测问题,Databricks 建议增加测试频率。

重要

由于管道不支持 JVM 库 ,因此不要使用初始化脚本安装 JVM 库。 但是,可以使用 init 脚本安装其他库类型,例如Python库。

Python 库

若要指定外部 Python 库,请编辑管道的环境。

  1. 在管道编辑器中,单击 “设置”。
  2. “管道”环境中,选择 “铅笔”图标。编辑环境
  3. 单击 “加号”图标。添加依赖项
  4. 键入依赖项的名称。 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依赖项,而不是在运行时安装或重新加载它们。 使用 环境 设置还允许管道在运行中重复使用缓存的库,而不是在每个运行中重新安装它们。

Scala 和Java库支持

否,管道仅支持 SQL 和 Python。 不能在管道中使用 JVM 库。 安装 JVM 库会导致不可预测的行为,并且在未来的 Lakeflow 管道版本中可能无法正常工作。 如果管道使用 init 脚本,则还必须确保脚本未安装 JVM 库。