Sreenivas K
Sreenivas K

Reputation: 119

Deserialize Avro message with schema type as object

I'm reading from a Kafka topic, which contains Avro messages. I have given below schema. I'm unable to parse the schema and deserialize the message.

{
  "type": "record",
  "name": "Request",
  "namespace": "com.sk.avro.model",
  "fields": [
    {
      "name": "empId",
      "type": [
        "null",
        "string"
      ],
      "default": null,
      "description": "REQUIRED "
    },
    {
      "name": "carUnit",
      "type": "com.example.CarUnit",
      "default": "ABC",
      "description": "Car id"
    }
  ]
}

I'm getting below error :

The type of the "carUnit" field must be a defined name or a {"type": ...} expression

Can anyone please help out.

Upvotes: 0

Views: 375

Answers (1)

Giorgos Myrianthous
Giorgos Myrianthous

Reputation: 39790

How about

{
    "name": "businessUnit",
    "type": { 
        "type": { 
            "type": "record ", 
            "name": "BusinessUnit ", 
            "fields": [{ 
                "name": "hostName ", 
                "type": "string " 
             }] 
         } 
     } 
 }

Upvotes: 1

Related Questions