Spark hdfs找不到我的文件

时间:2017-01-06 11:51:41

标签: scala hadoop apache-spark

我是scala / spark / hadoop的新手,我已经挣扎了5个小时才能在spark doc上运行示例,而且似乎无法找到我的文件:

[error] (run-main-0) org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/home/coudra_c/.bashrc

以下是产生错误的代码:

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf

object FinalProject {
  def main(args: Array[String]) {
    val logFile = "hdfs://localhost:9000/home/coudra_c/.bashrc" // Should be some file on y\
our system                                                                                  
    val conf = new SparkConf().setAppName("Simple Application").setMaster("local[2]").set("\
spark.executor.memory","1g")
    val sc = new SparkContext(conf)
    val logData = sc.textFile(logFile, 2).cache()
    val numAs = logData.filter(line => line.contains("a")).count()
    val numBs = logData.filter(line => line.contains("b")).count()
    println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
  }
}

但是当我运行spark-shell并执行以下行时:

val data = sc.textFile("hdfs://localhost:9000/home/coudra_c/.bashrc", 2).cache()

我没有错误。

我在示例中使用了sbt,配置是:

 scalaVersion := "2.11.7",
 version      := "0.1.0-SNAPSHOT"
 name := "Final Project",
 libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.3"

请问我是否忘了告诉任何重要内容,谢谢你的帮助。

编辑:

这是hdfs ls命令的结果。     coudra_c @ PC-Colin:〜/ Documents / spt $ hdfs dfs -ls /home/coudra_c/.bashrc     -rw-rw-rw- 1 coudra_c supergroup 4287 2017-01-05 21:31 /home/coudra_c/.bashrc

请注意,由于我不了解延迟绑定,因此它在spark shell和.jar中都不起作用。

评论表明找不到core-site.xml,但即使我查看" file://home/coudra_c/.bashrc"也找不到该文件。甚至" /home/coudra_c/.bashrc"。

0 个答案:

没有答案