You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过.yaml文件在Databricks集群批量安装依赖库

Databricks 基于YAML文件批量安装集群依赖实现方案

你可以通过两种路径实现和txt批量安装同等效果的依赖部署,分别对应notebook会话级安装、集群全局自动安装两类场景,核心都是基于conda原生的yaml环境解析能力实现:

方案1:Notebook会话级快速安装

适合临时调试场景,不需要修改集群配置,直接在notebook单元格执行即可:

  • 提前将符合conda规范的environment.yml文件上传到可访问路径,支持DBFS、工作区本地文件路径
  • 在单元格首行声明%conda魔法命令,调用conda原生的环境更新接口批量安装所有依赖,示例命令如下:
%conda
conda env update --name base --file /dbfs/FileStore/your_path/environment.yml --prune

其中--prune参数会自动移除yaml文件中未声明的冗余包,保证环境和配置完全一致。

你可以直接使用标准conda环境yaml格式编写依赖配置,示例:

channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.10
  - pandas=2.2.*
  - pyarrow=14.*
  - pip:
    - databricks-sdk==0.30.0
    - mlflow==2.10.0

注意:访问DBFS存储的yaml文件时,必须使用/dbfs/开头的本地文件系统挂载路径,不能使用dbfs://协议路径,否则conda无法识别读取文件。

方案2:集群全局自动部署

适合长期使用的固定集群,集群启动时会自动给驱动、所有worker节点批量安装依赖,所有连接该集群的notebook、作业都可以直接调用依赖,不需要重复安装:

  • 将编写好的environment.yml上传到DBFS固定路径,比如dbfs:/cluster-init/deps/environment.yml
  • 新建bash初始化脚本,上传到DBFS路径dbfs:/cluster-init/deps/install.sh,脚本内容如下:
#!/bin/bash
set -e
# 基于Databricks默认base环境更新依赖,不要新建独立环境避免内核匹配失败
conda env update --name base --file /dbfs/cluster-init/deps/environment.yml --prune
# 清理安装缓存减少磁盘占用
/opt/conda/bin/conda clean -afy
  • 进入集群配置页面,打开「高级选项」-「初始化脚本」配置项,添加上述install.sh的DBFS路径,保存后重启集群即可完成全节点依赖批量部署。

注意事项

  • 不要在yaml中自定义conda环境名称,Databricks运行时默认使用base环境承载所有计算任务,新建独立环境会出现包装了但无法导入的问题
  • yaml中支持混合配置conda源包、pip源包,不需要额外拆分requirements.txt文件
  • 如果是作业场景使用,可以将上述conda更新命令写到作业的前置启动脚本中,实现作业级别的依赖隔离

内容的提问来源于stack exchange,提问作者Kumar Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 09:54:22