Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Schema Registry - Question around protocol, schema version and fingerprint

Highlighted

Schema Registry - Question around protocol, schema version and fingerprint

New Contributor

Looking at the schema registry documentation I understand following:

For deserializing a message using the schema registry it expects the message in the following format:

<protocol-id><schema-version-Id><payload>

Conversely during serialization it converts the payload to the above format.

I already have some messages coming in from client side in the following format:

<schema-fingerprint><payload>

schema-fingerprint for me is my generated fingerprint and is a string value.

My clients cannot change to send me the data in the format that schema registry expects.

Few Questions:

1. Is there a way for me to use the schema-registry with my existing payload as is?

2. If not, do I need to maintain the mapping between my schema-fingerprint to the protocol-id and schema-version-id and accordingly convert the incoming message in the format the schema registry expects for me to be able to use the schema registry functionality.

3. I also notice a fingerprint field in the registry database. So when we register a schema a fingerprint is also generated. But I am not sure at the moment where it gets used. I did not see an API in the SchemaRegistryClient where you can retrieve the schema based on a fingerprint. If this is possible then it would be possible for me to request my clients to send me the data with the fingerprint that the schema registry generates for me when I register a schema.

Any ideas or feedback from the community is highly appreciated and it will help me in deciding how to move forward on this.

Thank you.