spark与hdfs怎么加载本地文件啊?

jack_leiwin 2015-01-23 12:51:58
我搭建了一个spark集群,1个master,3个slaver
Spark-1.2.0, Hadoop-2.4.0
用spark包中/bin/spark-shell启动scala后输入如下命令


data.txt 为本地本目录下的文件

scala> val inFile = sc.textFile("data.txt")

15/01/23 12:43:09 INFO MemoryStore: ensureFreeSpace(73391) called with curMem=369072, maxMem=278019440
15/01/23 12:43:09 INFO MemoryStore: Block broadcast_2 stored as values in memory (estimated size 71.7 KB, free 264.7 MB)
15/01/23 12:43:09 INFO MemoryStore: ensureFreeSpace(31711) called with curMem=442463, maxMem=278019440
15/01/23 12:43:09 INFO MemoryStore: Block broadcast_2_piece0 stored as bytes in memory (estimated size 31.0 KB, free 264.7 MB)
15/01/23 12:43:09 INFO BlockManagerInfo: Added broadcast_2_piece0 in memory on localhost:55952 (size: 31.0 KB, free: 265.1 MB)
15/01/23 12:43:09 INFO BlockManagerMaster: Updated info of block broadcast_2_piece0
15/01/23 12:43:09 INFO SparkContext: Created broadcast 2 from textFile at <console>:12
inFile: org.apache.spark.rdd.RDD[String] = data.txt MappedRDD[5] at textFile at <console>:12


scala> inFile.first()


org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://D1:9000/user/hadoop/data.txt
at org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:285)
at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:228)
at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:304)
at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:201)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:205)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:203)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:203)
at org.apache.spark.rdd.MappedRDD.getPartitions(MappedRDD.scala:28)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:205)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:203)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:203)
at org.apache.spark.rdd.RDD.take(RDD.scala:1060)
at org.apache.spark.rdd.RDD.first(RDD.scala:1093)
at $iwC$$iwC$$iwC$$iwC.<init>(<console>:15)
at $iwC$$iwC$$iwC.<init>(<console>:20)
at $iwC$$iwC.<init>(<console>:22)
at $iwC.<init>(<console>:24)
at <init>(<console>:26)
at .<init>(<console>:30)
at .<clinit>(<console>)
at .<init>(<console>:7)
at .<clinit>(<console>)
at $print(<console>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:852)
at org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1125)
at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:674)
at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:705)
at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:669)
at org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:828)
at org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:873)
at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:785)
at org.apache.spark.repl.SparkILoop.processLine$1(SparkILoop.scala:628)
at org.apache.spark.repl.SparkILoop.innerLoop$1(SparkILoop.scala:636)
at org.apache.spark.repl.SparkILoop.loop(SparkILoop.scala:641)
at org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply$mcZ$sp(SparkILoop.scala:968)
at org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:916)
at org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:916)
at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:916)
at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1011)
at org.apache.spark.repl.Main$.main(Main.scala:31)
at org.apache.spark.repl.Main.main(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:358)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

我在单机下运行Spark,slaver和master都在一台机器上,输入同样的命令后,调用inFile.first()后出现下面的问题
java.net.ConnectException: Call From D1/192.168.150.82 to D1:9000 failed on connection exception: java.net.ConnectException:


Spark,HDFS不是可以加载本地文件的吗?怎么会出现上面的那个问题?

还有一个问题就是在
scala>
输入命令时,发现出错时不能按“Backspace”删除,郁闷,怎么会这样?网上怎么搜都搜不到关于这个命令行下删除字符的按键是哪个。
...全文
12109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_15152545 2016-12-17
  • 打赏
  • 举报
回复
不能backspace 是因为你的ssh软件的问题,把仿真里面那个改成Linux就好了
mengpanfei 2016-09-26
  • 打赏
  • 举报
回复
val inFile = sc.textFile("file:///./data.txt")
h999234 2015-09-03
  • 打赏
  • 举报
回复
楼上回答正解,二楼看错题目了。
Click_Tang 2015-03-19
  • 打赏
  • 举报
回复
默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读 本地文件读取 sc.textFile("路径").在路径前面加上file:// 表示从本地文件系统读,如file:///home/user/spark/README.md
jack_leiwin 2015-03-07
  • 打赏
  • 举报
回复
jack_leiwin 2015-01-27
  • 打赏
  • 举报
回复
引用 2 楼 furanger 的回复:
所有节点在相同位置放上这个文件
我想利用Spark构建一个树索引结构。具体内容如下: (1)数据形式是20-dimension 的double向量 (2)树的结构是: 1>内部结点都保存一个数据对象和指向子树的指针,每个子树中数据对象与父节点中保留的对象的距离由远到近不同 2>叶子结点保存数据对象的列表 (3)想通过Spark加载数据,将整个数据源文件抽象为一个RDD, RDD分区存储文件的不同块,然后写一个索引构建算子作用到每个分区上,然后构建的索引写到文件中(索引文件的个数与RDD分区的个数相同) (4)查找时查找算子作用到每个索引文件 现在有一个问题就是在构建索引时一个分区中的源数据是满的,构建的索引数据大于一个分区的空间(因为空间占用方面,索引数据肯定大于源数据),索引数据会写到不同的分区中,查找过程中,查找算子是以分区为单位进行查找的,但是单个分区数据不是一个完整的索引,这样会导致在查找过程中出错? 我不知道我理解的对不对,是不是有这个问题,还希望各路大神指点,有没有别的方法。
furanger 2015-01-26
  • 打赏
  • 举报
回复
所有节点在相同位置放上这个文件
jack_leiwin 2015-01-23
  • 打赏
  • 举报
回复
大神现身吧!!!

1,261

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧