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

PySpark读取CSV文件报错UnsupportedFileSystemException求助

解决PySpark读取本地CSV时的No FileSystem for scheme "null"错误

错误原因分析

这个错误核心是Hadoop路径解析器无法识别文件路径对应的文件系统协议,主要由两点导致:

  1. 路径格式错误:你写的//Users/myuser/pysparktest/拼接后会生成//Users/myuser/pysparktest//utilization.csv,多余的斜杠让Hadoop无法正确推断本地文件系统的file://协议,最终返回null作为scheme。
  2. 未显式指定本地文件系统:Spark依赖Hadoop的文件系统实现,默认情况下可能无法自动识别本地文件系统,导致协议匹配失败。

解决方案

1. 修正文件路径写法

改用标准的本地绝对路径格式,避免多余斜杠:

# 直接使用单斜杠的绝对路径
utilization_path = '/Users/myuser/pysparktest/utilization.csv'
# 或者显式加上file://前缀(推荐,避免歧义)
utilization_path = 'file:///Users/myuser/pysparktest/utilization.csv'

2. 显式配置SparkSession使用本地文件系统

在构建SparkSession时,添加Hadoop文件系统的强制配置,确保Spark使用本地文件系统处理路径:

from pyspark.sql import SparkSession

spark = SparkSession \
    .builder \
    .config("spark.hadoop.fs.file.impl", "org.apache.hadoop.fs.LocalFileSystem") \
    .getOrCreate()

utilization_path = '/Users/myuser/pysparktest/utilization.csv'
# 读取CSV时建议加上header和inferSchema参数,自动识别表头和字段类型
user_df = spark.read.csv(utilization_path, header=True, inferSchema=True)
# 验证读取结果
user_df.show()

额外检查项

  • 确认utilization.csv确实存在于指定路径,文件名拼写无误(MacOS大小写不敏感,但最好保持一致)。
  • 确保当前用户对该文件和所在目录有读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 23:47:45