Spark java.io.EOFException:过早的 EOF:没有可用的长度前缀

问题描述 投票:0回答:1

我正在尝试读取 parquet 文件并对其执行一些操作,并将结果作为 parquet 保存在 HDFS 上。我正在使用 Spark 进行此操作。这样做时我遇到了以下异常。

java.io.EOFException: Premature EOF: no length prefix available
at org.apache.hadoop.hdfs.protocolPB.PBHelper.vintPrefixed(PBHelper.java:2203)
at org.apache.hadoop.hdfs.protocol.datatransfer.PipelineAck.readFields(PipelineAck.java:176)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer$ResponseProcessor.run(DFSOutputStream.java:867)

有关可能原因和解决方案的任何帮助。

使用CDH 5.4.1

hadoop apache-spark hdfs cloudera
1个回答
0
投票

Premature EOF 代表文件过早结束。

没有发布代码,所以我无法提供更具体的解决方案,但是有两种方式可能会出现此错误:

  1. 如果您使用的库仍然是新的/尚未经过测试,您可能会发现它在某些极端情况下存在问题
  2. 然而,更有可能的是您在代码中犯了错误。这可能像语法错误一样简单,但也可能更微妙,例如以错误的方式调用某些内容。
© www.soinside.com 2019 - 2024. All rights reserved.