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

如何解决Databricks中pandas/joblib无法加载DBFS内joblib/pickle文件的问题?

在Databricks中用非Spark工具加载DBFS中的joblib/pickle文件

你遇到的问题核心是路径格式错误:/dbfs:/ 是Spark API专用的URI格式,而joblib、pandas这类本地Python库只能识别Databricks集群节点本地挂载的DBFS路径,也就是/dbfs/(无冒号)。以下是几种可行的解决方法:

方法1:修正本地挂载路径

直接使用集群本地挂载的DBFS路径,去掉路径中的冒号:

import joblib

# 正确路径格式:/dbfs/开头,无冒号
corpsEncoding = joblib.load('/dbfs/mnt/xxxx/encoders/corpsEncoder.joblib')

方法2:通过dbutils读取字节流加载

如果是Serverless集群或挂载存储有特殊配置,推荐用dbutils.fs读取文件内容到内存,再加载:

from io import BytesIO
import joblib

# 读取DBFS文件为字节内容
file_bytes = dbutils.fs.cat('/mnt/xxxx/encoders/corpsEncoder.joblib')
# 转为可读取的字节流对象
stream = BytesIO(file_bytes)
# 加载模型
corpsEncoding = joblib.load(stream)

方法3:先验证文件存在性

如果还是报错,先确认文件路径和权限没问题:

# 列出目标目录下的文件,确认文件存在
dbutils.fs.ls('/mnt/xxxx/encoders/')

如果输出中看不到目标文件,检查挂载路径拼写、存储权限或文件是否真的上传到对应位置。

注意:Serverless集群中DBFS的本地挂载支持有限,优先用方法2更稳定。

内容的提问来源于stack exchange,提问作者Cristina Campos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:05:23