使用Spark从远程HDFS集群读取文件时出现文件结束异常

时间:2019-08-27 11:36:46

标签: scala apache-spark hdfs

我刚接触HDFS。我正在尝试使用Spark读取存储在hadoop集群中的csv文件。每次尝试访问它时,都会出现以下错误:  本地主机之间的文件结束异常

自从我已经可以访问hadoop集群以来,我还没有在本地设置hadoop。

我可能缺少一些配置,但我不知道是哪个配置。非常感谢您的帮助。

我尝试使用以下命令对其进行调试: link

没有为我工作。

这是使用spark的代码。

val conf= new SparkConf().setAppName("Read").setMaster("local").set("fs.hdfs.impl", classOf[org.apache.hadoop.hdfs.DistributedFileSystem].getName)
      .set("fs.file.impl", classOf[org.apache.hadoop.fs.LocalFileSystem].getName)
val sc=new SparkContext(conf)
val data=sc.textfile("hdfs://<some-ip>/abc.csv)

我希望它读取csv并将其转换为RDD。

出现此错误: 线程“主”中的异常java.io.EOFException:本地主机之间的文件结束异常是:

1 个答案:

答案 0 :(得分:0)

运行可在hadoop群集上触发作业。使用以下代码:

val spark = SparkSession.builder().master("local[1]").appName("Read").getOrCreate()
val data = spark.sparkContext.textFile("<filePath>")

或者您也可以使用spark-shell。

如果您想从本地访问hdfs,请遵循以下步骤:link

相关问题