Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create object that contains array of string in avro schema?

What is the correct way to create avro schema for object with array of strings?

I am trying to create avro schema to object that have array of strings according to official documenation? but I get error.

https://avro.apache.org/docs/1.8.1/spec.html

[ERROR] Failed to execute goal org.apache.avro:avro-maven-plugin:1.8.2:schema (default) on project email: Execution default of goal org.apache.avro:avro-maven-plugin:1.8.2:schema failed: "array" is not a defined name. The type of the "parameters" field must be a defined name or a {"type": ...} expression. -> [Help 1]

Why my schema is inccorect?

[
  {
    "type": "record",
    "namespace": "com.example",
    "name": "Topic",
    "fields": [
         { "name": "subject", "type": "string" },
         { "name": "parameters", "type": "array", "items": "string" }
    ]    
  }

]
like image 809
Yarik Soltys Avatar asked Jan 08 '19 14:01

Yarik Soltys


Video Answer


1 Answers

Think this should work:

{ 
  "name":"parameters",  
  "type": { 
      "type": "array",
      "items": "string"
   } 
} 
like image 85
Jeff Avatar answered Nov 15 '22 19:11

Jeff