在Pysp中导入csv时如何修复“路径不存在”

2024-03-29 04:47:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我遵循这个教程(https://www.guru99.com/pyspark-tutorial.html)并尝试使用sqlContext.read.csv,但此错误显示:'路径不存在:文件:/C:/Users/asus/AppData/Local/Temp/spark-62c50c87-060e-49f7-b331-111abfa496f3/userFiles-da6cdfff-ea8a-426c-b4f4-fe5a15c67794/成人.csv;'

我听说我可能需要跨同一个共享文件系统的所有节点复制该文件,或者使用HDFS,但我不知道该怎么做。在

代码如下:

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)

df = sqlContext.read.csv(SparkFiles.get("adult.csv"), header=True, inferSchema= True)

这是我得到的结果:

^{2}$

Tags: 文件csvhttpscomtruereadhtmlwww
1条回答
网友
1楼 · 发布于 2024-03-29 04:47:57

您应该按照您粘贴的网站上的说明,首先执行以下操作:

url = "https://raw.githubusercontent.com/guru99-edu/R-Programming/master/adult_data.csv"
from pyspark import SparkFiles
sc.addFile(url)
sqlContext = SQLContext(sc)

然后可以使用read.csv加载文件:

^{pr2}$

sc.addFile(url)设置要在get函数中使用的SparkFiles的根目录。 您可以运行此命令来检查当前根目录:

SparkFiles.getRootDirectory()

应该是这样的:

C:/Users/asus/AppData/Local/Temp/spark-62c50c87-060e-49f7-b331-111abfa496f3/userFiles-da6cdfff-ea8a-426c-b4f4-fe5a15c67794/

所以当您调用SparkFiles.get('adult.csv')时,Spark正在查找该目录下的文件,这就是您看到错误消息的原因。在

另一种解决方案是下载文件,放入本地目录,然后运行:

df = spark.read.csv(your_local_path_to_adult.csv, header=True, inferSchema= True)

相关问题 更多 >