我使用thrift只是为了从kafka流式传输字节数据时提高性能而进行序列化和反序列化
当我反序列化时,会不断出现以下错误:
org.apache.thrift.protocol.tprotocolexception:无法识别的类型123
我的代码
public void streamMessageByte() {
final StreamsBuilder builder = new StreamsBuilder();
<Integer, byte[]> stream = builder.stream(kafka_topic);
deserializer = new TDeserializer();
serializer = new TSerializer();
//Thrift class pojo object is 'deser' which matches byte array data format
stream.map((k,v){
try{
deserializer.deserialize(deser, v);
}
catch(TException e){
}
null;
});
1条答案
按热度按时间bqf10yzr1#
我在使用不同的协议进行序列化和反序列化时遇到了这个问题。
序列化程序正在使用
ObjectMapper
反序列化程序正在使用TDeserializer
与TBinaryProtocol
. 例子:那会扔
org.apache.thrift.protocol.TProtocolException: Unrecognized type 123
如果以相同的方式序列化和反序列化,它应该可以工作。举个例子: