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

在Databricks中写入JSON文件遇FileNotFoundError问题求助

在Databricks中写入JSON文件(含二进制)的正确方法

错误原因分析

你遇到的FileNotFoundError是因为目标路径的父目录/dbfs/mypath不存在,Python的open函数不会自动创建缺失的上级目录,直接写入就会报错。

正确实现方式

方式一:Python原生API(适合二进制文件)

先手动创建父目录,再用open写入二进制内容:

import os

# 确保父目录存在,exist_ok=True避免重复创建报错
os.makedirs('/dbfs/mypath', exist_ok=True)
# 用with语句安全写入二进制文件
with open('/dbfs/mypath/test.json', 'wb') as f:
    f.write(files)

这种方式完全支持二进制文件写入,wb模式就是专门用于二进制写入的。

方式二:Databricks dbutils工具(支持二进制)

你之前误解了dbutils.fs.put,它并非只能写文本文件。只要传入的files是字节类型(bytes),就能直接写入二进制内容:

# overwrite=True表示覆盖已存在的文件,可选
dbutils.fs.put('/mypath/test.json', files, overwrite=True)

如果目标路径的父目录不存在,dbutils.fs.put会自动创建,无需手动处理。

方式三:Spark API(适合结构化JSON数据)

如果你的JSON内容是结构化数据(比如DataFrame),推荐用Spark的官方API写入,效率更高:

# 假设df是你的结构化数据DataFrame
df.write.mode("overwrite").json("/dbfs/mypath/test.json")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:52:09