ClassCastException,同时使用 ThriftData 以 Avro 格式序列化 Thrift 数据



我们正试图找到一种方法将Thrift模式序列化为Avro格式。

流程如下:

我们有一个使用节俭的项目"A"。输出结果对象是基于节俭的对象。

我们有使用 Avro 的项目"B"。我们想阅读项目"A"节俭模式,并为项目"B"生成兼容的 Avro 模式。

我们尝试使用 Apache Avro 中提供的 ThriftData 来序列化 Thrift 模式

Schema schema = thriftData.getSchema(XYZ.class);

执行失败并显示消息

java.lang.RuntimeException: java.lang.ClassCastException: org.apache.thrift.meta_data.FieldValueMetaData cannot be cast to org.apache.thrift.meta_data.StructMetaData

任何有关这方面的帮助将不胜感激!

您可能需要检查 valueMetaData 属性以检查它是否具有正确的类型。

最新更新