2017-07-27 55 views
0

THIS IS MY JSON的例子:如何为复杂的json文档定义avro模式?

{"ID":2,"name":"Donatello","lastname":"Di Niccoló","age":23,"hobbies":["reading","dancing",{"sports":["rafting","baseball"]}],"address":{"street":"Tepito", "number":"77", "districts":"Benito Juárez", "country": "CDMX"}} 

THIS IS MY AVRO SCHEMA

{"type":"record","name":"myrecord","fields":[ 
{"name":"ID","type":"int"}, 
{"name":"name", "type": "string"}, 
{"name":"lastname", "type": "string"}, 
{"name":"age", "type": "int"}, 
{"name":"hobbies","type": { 
     "type": "array", 
     "items": { 
     "type": "array", "items": "string", 
     "type":"record","name":"myhobbies", 
     "fields":[ 
        {"name":"sports","type":{"type": "array", "items": "string"}} 
       ] 
}  } 
}, 
{"name":"address","type":{"type":"record","name":"myaddress", 
    "fields":[ 
    {"name":"street","type":"string"}, 
    {"name":"number","type":"string"}, 
    {"name":"districts","type":"string"}, 
    {"name":"country","type":"string"} 
    ] 

} 
} 
]} 

我需要的Avro格式病程我想开始一个制片人丝毫卡夫卡但是当我开始它,当我进入previos一个记录时有一个错误。 Couse avro模式与记录不匹配。如何使二者匹配


Yeah Nitin Tripathi 

{"type":"record","name":"myrecord","fields":[ 
{"name":"ID","type":"int"}, 
{"name":"name", "type": "string"}, 
{"name":"lastname", "type": "string"}, 
{"name":"age", "type": "int"}, 
{"name":"hobbies","type": { 
     "type": "array", 
     "items": { 
     "type":"record","name":"myhobbies", 
     "fields":[ 
        {"name":"sports","type":{"type": "array", "items": "string"}} 
       ] 
}  } 
}, 
{"name":"address","type":{"type":"record","name":"myaddress", 
    "fields":[ 
    {"name":"street","type":"string"}, 
    {"name":"number","type":"string"}, 
    {"name":"districts","type":"string"}, 
    {"name":"country","type":"string"} 
    ] 

} 
} 
]} 

我尝试过,但它不工作:(

回答

0

阵列,可以使用类型名称“阵列”,支持单个属性,然而,架构爱好混合字符串和myhobbies类型