当前位置: 首页 > 面试题库 >

带有kafka lib的反序列化原始AVRO KEY

严心水
2023-03-14
问题内容

我目前无法在KSTREAM APP 中 反序列化avro PRIMITIVE密钥

用avro模式编码的密钥(已在模式注册表中注册),

当我使用kafka-avro-console-consumer时,我可以看到密钥已正确反序列化

但是不可能使其在KSTREAM应用程序中工作

密钥的avro模式是主要的:

{"type":"string"}

我已经关注了合流的文档

final Serde<V> valueSpecificAvroSerde = new SpecificAvroSerde<>();
final Map<String, String> serdeConfig = Collections.singletonMap(SCHEMA_REGISTRY_URL_CONFIG, schemaRegistryUrl);
valueSpecificAvroSerde.configure(serdeConfig, false);

final Serdes.StringSerde keySpecificAvroSerde = new Serdes.StringSerde();
keySpecificAvroSerde.configure(serdeConfig, true);

Consumed<String, totoAvro> inputConf = Consumed.with(keySpecificAvroSerde, valueSpecificAvroSerde);

final KStream<String, totoAvro> mystream = builder.stream("name topic", inputConf);

mystream.peek((key, value) -> logger.info("topic KEY :" + key))

它对于该值工作得很好,但是该键将是一个字符串,该字符串包含模式注册表中的字节,而不仅仅是“ reel”键

https://docs.confluent.io/current/schema-registry/serializer-
formatter.html#wire-format

因此,字符串键为 /§/./11016015201 ,但我希望使用卷轴值: 1016015201

如果我在字符串中打印字节,则为[0x00 0x00 0x00 0x02 0x31 0x14 0x31 0x30 0x31 0x36 0x30 0x31
0x35 0x32 0x30 0x31]


问题答案:

更新资料

它现在正在工作:http://codingdict.com/questions/159534

原始答案

该功能当前在架构注册表项目中不可用。

但是通过实施自定义SERDE,您可以管理案件,

Thiyaga Rajan提出了可行的实施方案

适用于AVRO基本类型的Serde类



 类似资料:
  • 我有一个Pojo对象,由Jersey使用jackson序列化: 序列化产生了一个像这样的Json: 但是,当我尝试像这样反序列化来自客户端的消息时: 我得到以下错误: 无法识别的字段“键”(类com.example.server.api.书摘),未标记为可忽略 我不知道问题是来自服务器生成的JSOn还是来自客户端的反序列化。 您知道问题是什么以及如何纠正吗? 非常谢谢。

  • 是否有可能在不访问源. proto文件/生成的类的情况下反序列化原型消息?我的源系统使用Ruby生成消息,并使用Java。源系统可以创建消费者无法轻松了解的新消息格式。或者,消费者访问原始类的最佳方式是什么?有没有可能有某种原始存储库?

  • 我目前无法在KSTREAM应用程序中反序列化avro原始密钥 使用avro模式编码的密钥(在模式注册表中注册), 当我使用kafka-avro控制台消费者时,我可以看到密钥是正确的反序列化 但不可能让它在KSTREAM应用程序中工作 密钥的avro模式是一个基元: 我已经遵循了confluent的文档 它对值运行良好,但键将是一个字符串,其中包含来自模式注册表的字节,而不仅仅是“卷轴”键 http

  • 问题内容: 我和Jackson有一个问题,我认为应该很容易解决,但是这真使我丧命。 假设我有一个看起来像这样的Java POJO类(假设对我来说是Getters和Setters): 我想将看起来像这样的JSON反序列化为User对象: 杰克逊给了我一些问题,因为用户不是JSON中的第一级对象。我显然可以制作一个具有单个User对象的UserWrapper类,然后使用该对象反序列化,但是我知道必须有

  • 本文向大家介绍详解PHP序列化和反序列化原理,包括了详解PHP序列化和反序列化原理的使用技巧和注意事项,需要的朋友参考一下 0.前言 对象的序列化和反序列化作用就不再赘述,php中序列化的结果是一个php自定义的字符串格式,有点类似json. 我们在任何语言中设计对象的序列化和反序列化都需要解决几个问题 把某个对象序列化之后,序列化的结果有自描述的功能(从序列化的结果中知道这个对象的具体类型, 知

  • 我试图通过CLI反序列化保存为protobuf的文件(似乎是最容易做到的事情)。我不希望使用protoc进行编译,将其导入编程语言,然后读取结果。 我的用例:一个TensorFlow lite工具以原型格式输出了一些数据。我也在TensorFlow存储库中找到了原型定义。我只想快速阅读输出。具体来说,我正在从工具中获取消息。