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

Databricks中大DF调用df.toPandas().to_csv()报[Errno95]错误求助

关于Databricks导出大DataFrame时出现[Errno 95] Operation not supported的原因分析

核心原因1:Driver节点内存过载引发底层IO异常

  • 代码中df.toPandas()会把分布式Spark DataFrame完整加载到Driver节点内存中。当DataFrame达到10万行以上时,数据量超出Driver节点内存承载上限,触发内存溢出,进而导致后续to_csv写入操作触发系统层面的[Errno 95]异常——内存不足引发的文件写入失败被系统标记为“操作不支持”。
  • 小DataFrame能正常执行,是因为数据量小,Driver内存可轻松承载,不会触发内存瓶颈。

核心原因2:Pandas单线程写入与DBFS分布式存储的兼容性冲突

  • 通过/dbfs路径直接调用Pandas的to_csv方法,本质是用本地文件系统写入逻辑操作分布式DBFS。大文件写入时,Pandas的单线程、单文件写入模式与DBFS的分布式存储模型不匹配,底层存储系统无法处理这类大文件连续写入请求,从而返回“操作不支持”错误。
  • 小文件写入过程短暂,数据量小,不会暴露这种兼容性矛盾。

可能的附加原因:外部挂载存储的协议/权限限制

  • 如果saveMountName对应外部挂载存储(如S3、ADLS),大文件写入需要多块分写,可能触发存储协议超时、权限令牌刷新不及时等问题,导致存储端返回“操作不支持”错误。
  • 小文件写入通常无需分块,不会触发这类协议层面的限制。

内容的提问来源于stack exchange,提问作者William D'Alessandro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 02:03:42