java.lang.IllegalArgumentException: java.net.UnknownHostException: tmp

sir*_*ine 4 scala sbt apache-spark

我工作一个应用程序 Spark-scala 并使用 sbt 构建项目,我的树状结构是: projectFilms/src/main/scala/AppFilms 我在 HDFS 中有 3 个文件,这些目录是:hdfs/tmp/projetFilms/<my_3_Files>,当我通过此命令行“sbt run”运行我的代码时,它生成一个错误:

java.lang.IllegalArgumentException: java.net.UnknownHostException: tmp
Run Code Online (Sandbox Code Playgroud)

和这个:

  [trace] Stack trace suppressed: run last compile:run for the full output.
 ERROR Utils: uncaught error in thread SparkListenerBus, stopping SparkContext
java.lang.InterruptedException
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import org.apache.spark.rdd._   

object appFilms {

val conf = new SparkConf().setAppName("system of recommandation").setMaster("local[*]")
val sc = new SparkContext(conf)
def main(args: Array[String]) {

val files = sc.wholeTextFiles("hdfs://tmp/ProjetFilm/*.dat")
//val nbfiles = files.count
println("Hello my application!")
sc.stop()
}
}
Run Code Online (Sandbox Code Playgroud)

我无法从 hdfs 读取文件,但是当我写入时

root@sandbox projectFilms# hadoop fs -cat /tmp/ProjetFilms/*
Run Code Online (Sandbox Code Playgroud)

我如何从 HDFS 读取所有文件的内容,知道我始终使用相同的命令工作。

请你能回答我吗!

Nir*_*Ram 5

该错误IllegalArgumentException: java.net.UnknownHostException: tmp是因为其wholeTextFilestmp作为主机名。将值替换为hdfs:///tmp/ProjetFilm/*.dat