我是新来的火花。 我正在尝试运行我的第一个单词计数程序。但我无法开始 我输入:
scala> val input = sc.textFile("/home/amel/word.txt").collect()
org.apache.hadoop.mapred.InvalidInputException: Input path does not
exist: file:/home/amel/word.txt
at org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:287)
at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:229)
at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:315)
at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:204)
at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:253)
at scala.Option.getOrElse(Option.scala:138)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:251)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:253)
at scala.Option.getOrElse(Option.scala:138)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:251)
at org.apache.spark.SparkContext.runJob(SparkContext.scala:2126)
at org.apache.spark.rdd.RDD.$anonfun$collect$1(RDD.scala:945)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
at org.apache.spark.rdd.RDD.withScope(RDD.scala:363)
at org.apache.spark.rdd.RDD.collect(RDD.scala:944)
... 49 elided
请帮助。
答案 0 :(得分:0)
该错误是很容易解释的,因此很可能是您遗失的简单信息。您可以修改脚本并按如下所示运行它吗?
请将“ fileName”值修改为您认为文件所在的位置。
import java.nio.file.{Paths, Files}
import sys.process._
/************ Modify this line with your data's file name **************/
val fileName = "/home/gmc/exists.csv"
if (Files.exists(Paths.get(fileName))) {
sc.textFile(fileName).take(5).foreach(println)
} else {
s"ls -l ${Paths.get(fileName).getParent}".!
}
如果使用存在的文件运行它,它将显示该文件的某些内容。如果该文件不存在,它将给出父目录的目录列表。
希望这将帮助您解决问题所在。如果您不能使用以上方法解决问题,请将上述脚本的 entire 输出添加到您的原始问题中。