管理 Lakeflow 声明性管道的 Python 依赖项

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

  1. 使用%pip install命令为管道中的所有源文件安装包。
  2. 从工作区文件中存储的源代码导入模块或库。 请参阅 从 Git 文件夹或工作区文件导入 Python 模块

Lakeflow 声明性管道还支持使用全局和群集范围的 初始化脚本。 但是,这些外部依赖项(尤其是 init 脚本)会增加运行时升级问题的风险。 若要缓解这些风险,请尽量减少在管道中使用 init 脚本。 如果处理需要初始化脚本,请自动测试管道以提前检测问题。 如果使用 init 脚本,Databricks 建议增加测试频率。

重要

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

Python 库

若要指定外部 Python 库,请使用 %pip install magic 命令。 更新启动时,Lakeflow 声明性管道在运行任何表定义之前运行包含 %pip install 命令的所有单元格。 管道中包含的每个 Python 笔记本共享库环境,并有权访问所有已安装的库。

重要

  • %pip install 命令必须位于笔记本顶部的单独单元格中。 不要在包含 %pip install 命令的单元格中包含任何其他代码。
  • 由于管道中的每个笔记本共享库环境,因此不能在单个管道中定义不同的库版本。 如果处理需要不同的库版本,则必须在不同的管道中定义它们。

以下示例安装库 numpy ,并使库全局可用于管道中的任何 Python 笔记本:

%pip install simplejson

若要安装 Python 滚轮包,请将 Python 滚轮路径添加到 %pip install 命令。 已安装的 Python wheel 包可用于管道中的所有表。 以下示例从 Unity Catalog 卷中安装一个名为 dltfns-1.0-py3-none-any.whl 的 Python wheel 文件。

%pip install /Volumes/my_catalog/my_schema/my_dlt_volume/dltfns-1.0-py3-none-any.whl

请参阅使用 %pip 安装 Python 滚轮包

是否可以在 Lakeflow 声明性管道中使用 Scala 或 Java 库?

否,Lakeflow 声明性管道仅支持 SQL 和 Python。 不能在管道中使用 JVM 库。 安装 JVM 库文件将导致不可预知的行为,并且可能会与未来的 Lakeflow 声明性管道版本不兼容或出现故障。 如果管道使用 init 脚本,则还必须确保脚本未安装 JVM 库。