线程“main”中的异常java.io.IOException:不完整的HDFS URI,没有主机:hdfs Spark RDD

时间:2016-05-05 17:37:59

标签: hadoop apache-spark hdfs

我正在尝试使用Spark:

在hdfs中保存文本文件的内容
 import org.apache.spark.{SparkContext, SparkConf}

  object FormatTlfHdfs {   def main(args : Array[String]) {
     val conf = new SparkConf().setAppName("Clean data")
                  .setMaster("local").setSparkHome("/usr/lib/spark")

     val sc = new SparkContext(conf)

     var vertices = sc.textFile("hdfs:///user/cloudera/dstlf.txt").flatMap{ 
       line => line.split("\\s+") }.distinct()

我收到了错误:

  

线程“main”中的异常java.io.IOException:不完整的HDFS URI,   没有主机:hdfs:/// user / cloudera / metadata-lookup-tlf

执行hdfs dfs -ls看起来是正确的

cloudera@quickstart grafoTelefonos]$ hdfs dfs -ls /user/cloudera 
Found 6 items 
drwx------   - cloudera cloudera          0 2016-02-04 18:37 /user/cloudera/.Trash 
drwxr-xr-x   - cloudera cloudera          0 2016-05-02 13:38 /user/cloudera/.sparkStaging
-rw-r--r--   1 cloudera cloudera       1294 2016-05-02 13:34 /user/cloudera /dstlf.txt

1 个答案:

答案 0 :(得分:3)

错误似乎很明显......

  

HDFS URI不完整,没有主机:hdfs:/// user / cloudera / metadata-lookup-tlf

您没有指定像

这样的主机
hdfs://quickstart:<hdfs_port>/user/cloudera...

您可能不需要<hdfs_port>件,但它不会受到伤害。我认为正确的端口是8020,所以你有

hdfs://quickstart:8020/user/cloudera...