【发布时间】:2014-02-13 18:48:34
【问题描述】:
我正在编写一个 mapReduce 作业来读取和处理 Avrofile。 输入文件是 Avro 输出格式为 Avro
当我执行 Mapreduce 作业时,我在 reducer 阶段遇到以下异常。当减速器抛出 IOException 时,我无法在减速器中捕获并消除它。 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 1.8.1,也有这个问题。你是怎么解决的?
-
Jira 票证仍处于打开状态,作为一种变通方法转换可能是一种选择?