SparkR遇到的问题之找不到路径

第一次在sparkR运行单词计数,遇到到下面问题。

16/08/09 11:42:07 ERROR RBackendHandler: collect on 40 failed
Error in invokeJava(isStatic = FALSE, objId$id, methodName, ...) : 
  org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://nameservice1/user/root/user/yjl/aa.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:313)
        at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:207)
        at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
	        at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
        at scala.Option.getOrElse(Option.scala:120)
        at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)
        at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
        at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
	        at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
        at scala.Option.getOrElse(Option.scala:120)
        at org.apache.spark.rdd

程序默认是在hdfs的root路径下找文件的,这里是因为,没有指定好路径,所以文件找不到,正确的是:
lines <- SparkR:::textFile(sc,"/user/yjl/aa.txt")用"file///home/aa.txt"在集群本地找也是找不到的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个问题可能是由于以下原因导致的: 1. 您输入的路径不正确,需要检查路径是否正确。 2. 您没有正确设置环境变量,需要检查环境变量是否正确设置。 3. 您的文件系统权限不足,需要检查您是否有足够的权限访问该路径。 您可以尝试以下解决方案: 1. 检查您输入的路径是否正确。 2. 检查您的环境变量是否正确设置。 3. 检查您的文件系统权限是否足够。 如果以上解决方案无法解决问题,请提供更多详细信息,以便我们更好地帮助您解决问题。 ### 回答2: 在使用spark-shell时,如果出现了“不到路径”的错误,可以考虑以下几个方面: 1.检查路径是否正确 首先,需要确认路径是否正确。spark-shell是通过Hadoop来读取和写入数据的,因此需要使用Hadoop支持的路径格式。常见的格式包括: hdfs://hostname:port/path/to/file file:///path/to/file 如果使用的是hdfs路径,则需要确保Hadoop集群的节点已经启动,并且hostname和port是正确的。如果使用的是file路径,则需要确保本地磁盘上的路径是存在的。 2.设置环境变量 其次,需要在环境变量中设置HADOOP_HOME和SPARK_HOME。这两个变量修订了Hadoop和Spark的安装目录。如果没有正确设置,spark-shell就可能无法到相应的jar包,导致不到路径的错误。 3.确认文件权限 还需要确认文件的权限是否正确。如果文件所在的目录不允许用户访问,则spark-shell就无法读取该文件。可以通过使用hadoop fs -ls命令来列出目录下的文件文件夹,确认权限是否正确。 4.检查网络连接 最后,还需要检查网络连接是否畅通。如果spark-shell无法连接到Hadoop集群,则可能导致不到路径的错误。可以通过ping命令测试两台机器之间的连接情况。 综上所述,如果spark-shell不到路径,需要先确认路径是否正确,设置好环境变量,确认文件权限是否正确,最后检查网络连接是否畅通。如果以上方法均无效,则有可能是系统环境或配置文件发生了错误,需要重新安装或配置。 ### 回答3: 如果你正在使用Spark-Shell,却发现无法路径,可能需要检查以下几个可能的原因: 1. 相对路径错误 如果你使用了相对路径,可能需要检查当前路径是否正确。相对路径是相对于当前目录的路径,如果当前目录不正确,Spark-Shell将无法到你要的文件或目录。 2. 文件或目录不存在 确保你要访问的文件或目录确实存在。如果文件或目录不存在,Spark-Shell将无法到它们。 3. 权限不足 如果你要访问的文件或目录需要特定的权限,Spark-Shell可能会因为权限不足而无法到它们。如果这是问题的根本原因,你可能需要修改文件或目录的权限或者使用特权用户来启动Spark-Shell。 4. 路径包含特殊字符 如果你的路径包含特殊字符,例如空格、#、$等,可能需要在路径中使用引号或者转义字符。否则,Spark-Shell可能无法正确解析路径。 5. 环境变量设置不正确 如果Spark-Shell无法到你想要的路径,可能是因为你没有正确设置环境变量。在安装Spark时,可能需要设置一些环境变量,例如$SPARK_HOME、$JAVA_HOME等,你需要确保这些环境变量设置正确。 总之,以上是可能导致Spark-Shell无法路径的几个原因。如果你遇到问题,可以先检查这些方面,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值