通过mapreduce生成tfrecord时出错

pgvzfuti  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(406)

我试图使用mr作业生成tfrecord,但是遇到了一个我无法理解的错误,似乎找不到读取列表的方法??当我试图构建一个遵循tensorflow中hadoop示例的示例时,它抛出了以下内容。有人能指出一条路吗?谢谢

2018-06-06 23:49:44,386 FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.NoSuchMethodError: com.google.protobuf.Descriptors$Descriptor.getOneofs()Ljava/util/List;
at com.google.protobuf.GeneratedMessageV3$FieldAccessorTable.<init>(GeneratedMessageV3.java:1704)
at org.tensorflow.example.FeatureProtos.<clinit>(FeatureProtos.java:104)
at org.tensorflow.example.Feature.internalGetFieldAccessorTable(Feature.java:109)
at com.google.protobuf.GeneratedMessageV3.getAllFieldsMutable(GeneratedMessageV3.java:124)
at com.google.protobuf.GeneratedMessageV3.getAllFields(GeneratedMessageV3.java:200)
at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:272)
at com.google.protobuf.TextFormat$Printer.access$400(TextFormat.java:248)
at com.google.protobuf.TextFormat.print(TextFormat.java:71)
at com.google.protobuf.TextFormat.printToString(TextFormat.java:118)
at com.google.protobuf.AbstractMessage.toString(AbstractMessage.java:106)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
nr7wwzry

nr7wwzry1#

这是由于java库兼容性问题造成的。基本上,yarn加载了protobuf的一个版本(可能是2.x),它与您用来构建jar的版本(可能是3.x)不兼容
检查yarn日志以确定正在加载的版本,并用相同的版本重建jar。

相关问题