zoukankan      html  css  js  c++  java
  • 使用spark-shell从本地读取文件不成功的的操作。

    今天打开spark-shell 想试试好久不用的命令,想从本地读取数据,然后做一个简单的wordcount。但是就是读取不成功。代码如下:

    scala 代码
    val file="/home/gxg/test"
    val lines = sc.textFile(file)
    val wordRDD = lines.flatMap(line => line.split(" "))
    val wordpair = wordRDD.map(word => (word,1))
     val result = wordpair.reduceByKey(_+_)
    
    
    org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://server1.hadoop:8020/home/gxg/test
      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:202)
      at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:252)
      at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:250)
      at scala.Option.getOrElse(Option.scala:121)
      at org.apache.spark.rdd.RDD.partitions(RDD.scala:250)

    在做累加的时候就报错了,这里显示要从HDFS上面去读取文件, 但是我想从本地读取文件进行计算。于是找资料,将输入的文件的加上前缀,则计算成功。

    val file="file:///home/gxg/test"

    至此使用spark可以从本地读取文件然后进行计算。

  • 相关阅读:
    二叉链表(双叉链表)实现二叉树
    队列知识
    windows下Anaconda3配置TensorFlow深度学习库
    栈的顺序结构和链式结构实现
    Anaconda中配置Pyspark的Spark开发环境
    Scala学习笔记(3)-表达式归纳
    SparkR-Install
    推荐系统之最小二乘法ALS的Spark实现
    linux查看主机端口进程命令
    使用redis的五个注意事项
  • 原文地址:https://www.cnblogs.com/gxgd/p/9224935.html
Copyright © 2011-2022 走看看