在写spark 读取本地文件命令的时候报hdfs上文件不存在的错…
读取文件是分两种情况:
(首先要确保文件路径写对了!!!!!)
1. 如果读取hdfs上的文件时报这个错,那么去看hdfs上是否有这个文件!!
hdfs dfs -ls / ( / 后面写要读取的文件的路径)
如果没有那么就创建文件,或者把本地文件上传到hdfs上:
上传本地文件:
hdfs dfs -put /usr/local/spark/test.txt /user/
创建文件:
hdfs dfs -mkdir -p /user/test/
2. 如果读取的是本地文件,那么就好好看看命令,读取本地文件的时候文件路径前面要加 file:
我出错就是因为没加file:
这个单词
错误的命令:
scala> sc.textFile("/usr/local/spark/test.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
准确的命令:
sc.textFile("file:/usr/local/spark/test.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect