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

Windows环境下PySpark写入CSV时出现TASK_WRITE_FAILED错误求助

Spark DataFrame写入CSV失败的排查方案

问题重现

执行以下Spark Python代码写入CSV时报错:

output_dataframe.write.format("csv").mode("overwrite").options(header="true",sep="\t").save("file:///D:/DataCleanupTests/Badly-Structured-Sales-Data-1/output.csv")

错误信息:

24/07/06 20:34:09 ERROR FileFormatWriter: Job job_20240706203331247289827599787817_0003 aborted. 24/07/06 20:34:10 ERROR Executor: Exception in task 33.0 in stage 3.0 (TID 42)2] org.apache.spark.SparkException: [TASK_WRITE_FAILED] Task failed while writing rows to file:/D:/DataCleanupTests/Badly-Structured-Sales-Data-1/output.csv.

已确认HADOOP_HOME配置正确、winutils.exe存在,尝试过修改路径、管理员运行仍未解决。

排查与解决步骤

  • 验证目标目录权限:右键目标目录→属性→安全,确认当前用户拥有写入/完全控制权限,即使管理员身份运行,目录权限也可能未正确开放。
  • 移除路径特殊字符:路径中的连字符(如Badly-Structured-Sales-Data-1)可能导致解析异常,更换为无特殊符号的路径,例如D:/DataCleanupTests/TestOutput/output.csv。
  • 匹配winutils与Spark版本:winutils版本必须和Spark版本严格对应(如Spark 3.3.x对应Hadoop 3.3.x),版本不匹配会引发IO写入失败。
  • 简化文件路径写法:去掉file://前缀,直接使用本地路径格式:D:/DataCleanupTests/Badly-Structured-Sales-Data-1/output.csv,Spark在Windows环境下对file://前缀的解析偶有问题。
  • 测试小批量数据:截取DataFrame的前10条数据写入测试:
    output_dataframe.limit(10).write.format("csv").mode("overwrite").options(header="true",sep="\t").save("D:/TestOutput/mini_output.csv")
    
    排查是否因数据中存在特殊字符、超长字段导致写入失败。
  • 配置Spark Hadoop参数:初始化SparkSession时显式指定Hadoop相关配置:
    from pyspark.sql import SparkSession
    
    spark = SparkSession.builder \
        .appName("CSVWriteFix") \
        .config("spark.hadoop.fs.file.impl", "org.apache.hadoop.fs.LocalFileSystem") \
        .config("spark.hadoop.home", "你的HADOOP_HOME绝对路径") \
        .getOrCreate()
    
  • 指定Spark临时目录:Spark写入时依赖临时目录,若系统临时目录权限不足,手动指定有权限的临时目录:
    spark = SparkSession.builder \
        .appName("CSVWriteFix") \
        .config("spark.local.dir", "D:/SparkTemp") \
        .getOrCreate()
    
    注意提前创建D:/SparkTemp目录并赋予写入权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:59:55