2017-06-16 3 views
1

Ich bin neu bei Avro und Kafka. Nach meinem Verständnis von Avro würde allen avro-Datensätzen ein Schema beigefügt sein. Der Kafka-Producer konvertiert die Daten in ein Byte-Array und sendet es an kafka consumer. Der Verbraucher gibt die gesendeten Daten zurück. Meine Frage ist, wie ich das Schema von Kafka-Verbraucher abrufen kann, ohne das Konzept der Schemaregistrierung einzubringen. Gibt es eine Möglichkeit, das Schema von kafka consumer zurück zu bekommen, ohne die Schemaregistrierung zu verwenden?Abrufen von Schema aus Kafka-Consumer ohne Verwendung der Schemaregistrierung

Antwort

1

Nein, Ihre in avro serialisierte kakfa-Nachricht enthält nur eine Schema-ID. Diese ID wird verwendet, um das gute Schema in der Schemaregistrierung abzurufen.

+0

Ist das in Kafka, nur die Daten kommen im Byte-Array-Format ohne das Schema? Wie kommt es dann zur Deserialisierung ohne das Schema? – Shri

0

Avro Records wird die schemaId zum Zeitpunkt der Avro-Kodierung an sie angehängt haben. Diese Schema-ID ist die Kennung zum Abrufen des Schemas, das zum Codieren verwendet wurde. Zum Zeitpunkt der Decodierung wird dasselbe Schema verwendet. Also im Grunde können Sie die SchemaId aus dem Datensatz abrufen und dann können Sie das entsprechende Schema für diese ID aus der Schemaregistrierung, aber nicht aus dem Datensatz selbst abrufen.

Verwandte Themen