カフカトピックの内容をコンソールにダンプするための簡単なJavaツールを作成しています。 Kafkaレコードの値は、Avroオブジェクトになります。 Avroデータを人間が読める形式でダンプできるようにしたい。私はバイト配列として持っている1つのAvroオブジェクトの内容を人間が読める形式に印刷する方法があるかどうかを知りたいですか?私はアブロオブジェクトバイトに関連付けられたスキーマを知ることなくmyAvroDataAsBytesの内容を印刷する方法を探しています上記のスニペットにおいてスキーマのないダンプAvroバイト
KafkaConsumer<String, byte[]> kafkaConsumer = createConsumer(); //Create a consumer with my config
ConsumerRecords<String, byte[]> records = kafkaConsumer.poll(200);
for (ConsumerRecord<String, byte[]> record : records) {
byte[] myAvroDataAsBytes = record.value();
//TODO: How do I print these bytes without knowing the schema?
}
。
ありがとう、私は答えを受け入れ、これを先に進めました。しかし、実際にはスキーマを持っているコンテナファイルのコンセプトがあるので、自分でスキーマを知らなくても読むことができるという答えを追加したいと思います。カフカにAvroメッセージを書く場合、あなたが指摘した個々のメッセージはスキーマを持たないでしょう。ありがとう。 –