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

Azure DBFS目录已存在但无法写入Pandas DataFrame至文件存储

解决Pandas DataFrame写入Databricks FileStore失败的问题

问题根源

你用dbutils.fs.mkdirs创建的是DBFS(Databricks文件系统)路径,但Pandas的to_csv依赖本地文件系统的挂载路径,二者的路径格式和权限校验逻辑有差异,导致报错目录不存在。

可行解决方案

方案一:修复本地挂载路径的写入逻辑

DBFS在本地的挂载路径是/dbfs(无冒号),先确认本地路径的存在性,再执行写入:

import os
# 定义本地挂载的目标目录
target_local_dir = "/dbfs/FileStore/NER/"
# 确保目录存在(避免因权限或缓存问题导致的目录不可见)
if not os.path.exists(target_local_dir):
    os.makedirs(target_local_dir, exist_ok=True)
# 写入CSV文件
entity.to_csv(os.path.join(target_local_dir, "entity.csv"), header=True, index=False)

方案二:转用Spark DataFrame写入(更稳定)

直接用Pandas写本地挂载路径可能遇到权限或缓存问题,转为Spark DataFrame写入DBFS更适配Databricks环境:

# 将Pandas DataFrame转为Spark DataFrame
spark_entity = spark.createDataFrame(entity)
# 写入DBFS路径,支持覆盖已有文件
spark_entity.write.mode("overwrite").option("header", "true").csv("dbfs:/FileStore/NER/entity.csv")

如果需要单个CSV文件而非分区文件,可先重分区:

spark_entity.repartition(1).write.mode("overwrite").option("header", "true").csv("dbfs:/FileStore/NER/entity_single.csv")

验证结果

执行完写入命令后,用以下代码确认文件是否生成:

dbutils.fs.ls("dbfs:/FileStore/NER/")

也可以直接在Databricks界面的Data > FileStore > NER目录下查看。

内容的提问来源于stack exchange,提问作者Melissa Ingle

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 02:38:17