请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于在Spark集群中读取本地文件抛出找不到文件异常的问题

老师 执行lines=textFile(“file:///home/hadoop/data/page_views.dat”) 报错
Caused by: java.io.FileNotFoundException: File file::///home/hadoop/data/page_views.dat does not exist
是为什么呢?

我搭建的是集群。。我看网上说


关于在Spark集群中读取本地文件抛出找不到文件异常的问题
一般情况下,我们在本地ide里写好程序,打成jar包上传到集群取运行,有时候需要读取数据文件,这个时候需要注意,如果程序中读取的是本地文件,那么,要在所有的节点都有这个数据文件,只在master中有这个数据文件时执行程序时一直报找不到文件
解决方式1:让每个Worker节点的相应位置都有要读取的数据文件。
解决方式2:直接将数据文件上传到hdfs,达到数据共享。(强烈推荐,比格更高更专业)

是这样吗???

正在回答 回答被采纳积分+3

2回答

Michael_PK 2018-09-06 18:59:27

你说的是对的

0 回复 有任何疑惑可以回复我~
Michael_PK 2018-09-06 18:59:10

99.9%都是操作HDFS 的数据的,本地file 的方式测试用

0 回复 有任何疑惑可以回复我~
  • 提问者 Yelena_Nic #1
    老师,在hdfs读取的话,本地测试交互式命令行窗口如何读取数据呢?
    lines = sc.textFile("hdfs://master:9000/practice/wc/hello.txt")这样为什么也不对??
    (我上传到了HDFS上的)
    
    报错: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://172.18.18.16:9000/practice/wc/hello.txt
    回复 有任何疑惑可以回复我~ 2018-09-06 21:17:23
  • Michael_PK 回复 提问者 Yelena_Nic #2
    master和地址没映射好,你直接写IP就行了
    回复 有任何疑惑可以回复我~ 2018-09-06 22:23:10
  • 提问者 Yelena_Nic 回复 Michael_PK #3
    老师,我写IP也还是这么报错
    : org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://172.18.18.16:9000/practice/wc/hello.txt   默认的端口号9000也没有修改,不应该啊
    回复 有任何疑惑可以回复我~ 2018-09-07 17:16:21
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信