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

Databricks社区版找不到/dbfs/databricks-datasets,pandas读文件报错如何解决

问题原因

该问题的核心原因是 Databricks社区版未提供DBFS FUSE挂载支持:

  • Databricks付费版默认会将DBFS(Databricks文件系统)挂载到集群节点的/dbfs本地路径下,所以可以直接用pandas.read_csv、open等本地文件操作接口访问该路径下的内容
  • Databricks社区版移除了该FUSE挂载能力,/dbfs路径在集群本地不存在,所以所有直接访问/dbfs前缀路径的本地文件操作都会抛出文件不存在错误
  • %fs是Databricks内置的魔术命令,底层直接调用DBFS的原生接口访问文件,因此不受FUSE挂载限制,可以正常返回结果
可行解决方案

下面三个方案都可以解决该问题,可根据使用场景选择:

方案1:Spark读取后转Pandas DataFrame(最适合读取结构化数据集)

直接调用Spark的文件读取接口读取DBFS文件,再转为Pandas格式,无需操作本地文件:

import pandas as pd

# 读取csv文件,header=True表示第一行是表头,inferSchema=True表示自动推导字段类型
spark_df = spark.read.csv("databricks-datasets/COVID/covid-19-data/us-states.csv", header=True, inferSchema=True)
# 转换为Pandas DataFrame
pd_df = spark_df.toPandas()

方案2:使用dbutils读取文本类文件(适合读取小体积非结构化文本)

直接用Databricks内置的dbutils.fs工具读取DBFS中的文本内容,无需转存:

# 读取README.md完整内容
readme_content = dbutils.fs.head("/databricks-datasets/README.md")
print(readme_content)

方案3:转存到集群本地目录后读取(适配所有本地文件操作接口)

先将DBFS中的文件复制到集群的本地临时目录,再用原生Python接口读取,完全兼容pandas、open等操作:

import pandas as pd

# 复制csv文件到集群本地临时目录
dbutils.fs.cp("databricks-datasets/COVID/covid-19-data/us-states.csv", "file:/tmp/us-states.csv")
# 读取本地csv文件
df = pd.read_csv("/tmp/us-states.csv")

# 读取README.md同理
dbutils.fs.cp("/databricks-datasets/README.md", "file:/tmp/README.md")
f = open("/tmp/README.md", "r")
print(f.read())

内容的提问来源于stack exchange,提问作者Ying Xiong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:45:03