如何在Avro架构中包含多个记录?

时间:2017-06-02 13:07:00

标签: java avro

我是Apache Avro的新手。我通过使用Parsers读取模式来序列化数据。以下详细信息包括我的架构。我需要在同一模式中包含多个记录。

 npm uninstall --save-dev webpack
 rm -R node_modules
 npm install

1 个答案:

答案 0 :(得分:0)

您可以按照此处GettingStartedGuide所述定义嵌入式记录。

因此,您的架构将是这样的

{
    "type" : "record",
    "name" : "userInfo",
    "namespace" : "my.example",
    "fields" : [{"name" : "username", 
                 "type" : "string", 
                 "default" : "NONE"},

                {"name" : "age", 
                 "type" : "int",
                 "default" : -1},

                 {"name" : "phone", 
                  "type" : "string", 
                  "default" : "NONE"},

                 {"name" : "housenum", 
                  "type" : "string", 
                  "default" : "NONE"},

                  {"name" : "address", 
                   "type" : {
                         "type" : "record",
                         "name" : "mailing_address",
                         "fields" : [
                            {"name" : "street", 
                             "type" : "string", 
                             "default" : "NONE"},

                            {"name" : "city", 
                             "type" : "string", 
                             "default" : "NONE"},

                            {"name" : "state_prov", 
                             "type" : "string", 
                             "default" : "NONE"},

                            {"name" : "country", 
                             "type" : "string", 
                             "default" : "NONE"},

                            {"name" : "zip", 
                             "type" : "string", 
                             "default" : "NONE"}
                          ]},
                          "default" : {}
                }
    ]
}