gpt4 book ai didi

hadoop - java.io.IOException : Invalid int encoding 异常

转载 作者:可可西里 更新时间:2023-11-01 14:15:36 31 4
gpt4 key购买 nike

我正在编写一个 mapReduce 作业来读取和处理 Avrofile。输入文件是 Avro输出格式为Avro

当我执行 Mapreduce 作业时,我在 reducer 阶段遇到以下异常。当 reducer 抛出 IOException 时,我无法在 reducer 中捕获和消退它。 Hue 中的错误堆栈跟踪看起来

java.io.IOException: Invalid int encoding
at org.apache.avro.io.DirectBinaryDecoder.readInt(DirectBinaryDecoder.java:113)
at org.apache.avro.io.ValidatingDecoder.readInt(ValidatingDecoder.java:83)
at org.apache.avro.reflect.ReflectDatumReader.readInt(ReflectDatumReader.java:166)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:156)
at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:177)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:148)
at org.apache.avro.generic.GenericDatumReader.readArray(GenericDatumReader.java:206)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:150)
at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:177)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:148)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:139)
at org.apache.avro.hadoop.io.AvroDeserializer.deserialize(AvroDeserializer.

谷歌搜索后,我注意到有一张 apache JIRA 票证 ( https://issues.apache.org/jira/browse/AVRO-882 )。没有更新。

我正在使用 AVRO-1.7.5,下面是依赖项 maven

    <dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.7.5</version>
</dependency>

任何帮助将不胜感激?。谢谢

最佳答案

在我的例子中,这个问题表现出来是因为我没有使用正确的模式来阅读文档。

请记住,如果您正在阅读的 Avro 文档是使用与您正在阅读的模式不同的模式(编写器模式)编写的,则需要使用采用读取器和编写器模式的构造函数来构造 SpecificDatumReader .

new SpecificDatumReader<>(writerSchema, readerSchema)

代替

new SpecificDatumReader<>(class)

关于hadoop - java.io.IOException : Invalid int encoding 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21762960/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com