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

Databricks中PySpark DataFrame保存CSV失败问题求助

解决Databricks中PySpark保存CSV文件未显示的问题

核心原因分析

Spark写入CSV时的默认行为是创建指定名称的目录,而非单个文件,目录内包含多个part-*.csv分片文件和_SUCCESS标记文件。你直接在Output文件夹里找myfile文件,自然看不到——实际生成的是myfile目录。

分步解决方法

1. 验证文件是否实际生成

执行以下命令查看Output目录下的内容,确认是否有myfile目录:

dbutils.fs.ls("dbfs:/Workspace/Users/my_account/Output/")

如果结果里有myfile条目,进入该目录就能看到分片的CSV文件。

2. 生成单个CSV文件(按需选择)

如果需要合并成单个文件,可通过合并分区+重命名的方式实现:

# 合并数据为1个分区,写入临时目录(需保留表头可添加header=True参数)
df.coalesce(1).write.csv("dbfs:/Workspace/Users/my_account/Output/temp_myfile", header=True)

# 定位临时目录中的CSV分片文件
part_files = dbutils.fs.ls("dbfs:/Workspace/Users/my_account/Output/temp_myfile/")
csv_file_path = next(file.path for file in part_files if file.name.startswith("part-") and file.name.endswith(".csv"))

# 将分片文件重命名为目标文件名
dbutils.fs.cp(csv_file_path, "dbfs:/Workspace/Users/my_account/Output/myfile.csv")

# 删除临时目录
dbutils.fs.rm("dbfs:/Workspace/Users/my_account/Output/temp_myfile", recurse=True)

执行后就能在Output文件夹里看到myfile.csv文件。

3. 排除其他潜在问题

  • 刷新Workspace页面:UI可能存在加载延迟,手动刷新后再查看。
  • 验证路径权限:执行以下命令测试能否创建子目录,若报错需联系管理员调整权限:
dbutils.fs.mkdirs("dbfs:/Workspace/Users/my_account/Output/test_perm")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:32:11