2017-07-27 28 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類型