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

Spark程序无法读取本地CSV文件求助(PyCharm环境)

Spark读取本地CSV文件失败问题解决

问题场景

在PyCharm中运行Spark程序时,直接使用相对路径"data/flight*.csv"读取本地CSV文件失败,但通过命令行位置参数sys.argv[1]传入路径却能正常读取,报错信息如下:

代码片段

# Processing logic here...
flightTimeCsvDF = spark.read \
    .format("csv") \
    .option("header", "true") \
    .load("data/flight*.csv")
    # .load(sys.argv[1])

错误信息

Exception in thread "globPath-ForkJoinPool-1-worker-1" java.lang.UnsatisfiedLinkError: 'boolean org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(java.lang.String, int)'
    at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
    at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:793)
    at org.apache.hadoop.fs.FileUtil.canRead(FileUtil.java:1218)
    at org.apache.hadoop.fs.FileUtil.list(FileUtil.java:1423)
    at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:601)
    at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1972)
    at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:2014)
    at org.apache.hadoop.fs.ChecksumFileSystem.listStatus(ChecksumFileSystem.java:761)
    at org.apache.hadoop.fs.Globber.listStatus(Globber.java:128)

解决方法

  • 配置Hadoop原生库(Windows环境)
    Spark依赖Hadoop本地库,Windows下需手动配置:

    1. 下载与Spark兼容版本的Hadoop Windows二进制包(如hadoop-3.3.4)
    2. 解压后设置系统环境变量HADOOP_HOME指向解压目录
    3. 将%HADOOP_HOME%\bin添加到系统PATH中
    4. 重启PyCharm使配置生效
  • 修正文件路径写法

    • 使用绝对路径,例如"C:/your-project-path/data/flight*.csv"(注意用正斜杠或双反斜杠)
    • 确认PyCharm运行配置的Working directory设置为项目根目录(路径:Run → Edit Configurations → Working directory)
  • 禁用Hadoop原生IO
    在初始化SparkSession时添加配置,强制使用非原生IO绕过依赖问题:

    from pyspark.sql import SparkSession
    
    spark = SparkSession.builder \
        .appName("FlightDataProcessing") \
        .config("spark.hadoop.io.native.lib.available", "false") \
        .getOrCreate()
    
  • 检查文件权限
    确保当前操作系统用户对data文件夹及其中的CSV文件拥有读取权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:45:46