Apache spark Spark-RDD后自动创建的与文本文件同名的文件夹?
我在hdfs中放置了一个名为Linecount2.txt的文本文件,并构建了一个简单的rdd来使用spark计算行数Apache spark Spark-RDD后自动创建的与文本文件同名的文件夹?,apache-spark,hadoop,rdd,Apache Spark,Hadoop,Rdd,我在hdfs中放置了一个名为Linecount2.txt的文本文件,并构建了一个简单的rdd来使用spark计算行数 val lines = sc.textFile("user/root/hdpcd/Linecount2.txt") lines.count() 这很有效 但是,当我尝试使用与上述路径相同的文本文件时,我收到了错误: "org.apache.hadoop.mapred.InvalidInputException: Input path does not exist:" 当我查
val lines = sc.textFile("user/root/hdpcd/Linecount2.txt")
lines.count()
这很有效
但是,当我尝试使用与上述路径相同的文本文件时,我收到了错误:
"org.apache.hadoop.mapred.InvalidInputException: Input path does not exist:"
当我查看该路径时,我可以看到一个文件夹是“Linecount.txt”创建的。因此文件的路径是
("user/root/hdpcd/Linecount2.txt/Linecount2.txt")
然后,在定义了路径之后,我能够成功地运行它
第三次尝试时,我得到了相同的错误,因为输入路径不存在
当我走过这条小路时
为什么会发生这种情况?将HDFS文件放在
/user/root/hdpcd/Linecount2.txt
与/user/root/hdpcd/Linecount2.txt
(或者更简单地说,当您已经是root用户时,hdpcd/Linecount2.txt
)之间存在差异
如果要将文件放置在当前用户帐户以外的绝对目录中,则前导斜杠非常重要,否则,这是默认设置
您没有给出hdfs put命令,但这里的问题只是绝对路径和相对路径之间的差异。这不是问题所在
另外,
hdfs put
将表明,如果您尝试将文件放置在同一位置,则该文件已存在,因此您可以上载两次,这表明您的路径不正确请添加将该文件放置在文件夹中的代码。您尚未向我们显示导致问题的代码。