首页 > 解决方案 > 无法使用 Pyspark 在 Windows 机器上读取文本文件。(分析异常)我的文件名带有 file:// 前缀

问题描述

错误:

AnalysisException: 路径不存在:file:/D:/sk - Add/Main/2020/Main_2012-01.txt;

Code1 有错误:

for i in os.listdir():
   if j.endswith('.txt'):
        print(i)
        df= spark.read.text(i)

Code2 有同样的错误:

path=r"D:\sk - Add\Main\2020"
for i in os.listdir():
   if j.endswith('.txt'):
        print(i)
        df= spark.read.text(path+'\\'+i)

Code3没有错误:

df1=spark.read.text(r'D:\sk - Add\Main\2020\Main_2020-12.txt')

为什么它file:/为我的文件名添加前缀并导致错误。在第三种情况下,它没有。我该如何解决这个问题?

标签: pythonwindowsapache-sparkpyspark

解决方案


在Code2中,您可以尝试如下吗?

spark.read.text(rf”{path}\{i}”)

解释:

  • f用于 Python f 字符串
  • r用于原始字符串(不需要格式化)

所以你正在有效地构建 code3 版本


推荐阅读