Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Suppose inputData contains Avro data with the following schema:

No Format
{  
   "typename" : "recordImpressionSetEvent",
   "nametype" : "ImpressionSetEventrecord",
   "fields" : [
      {  
         "name" : "pageNumber",
         "type" : [ "int", "null" ] 
      },
{"      {  
         "name" : "impressionDetails",
         "type" :{"type": "record", {
            "name" : "ImpressionDetailsRecord",
"fields            "type" : "record",
            "fields" : [
               {  
                  "name" : "id", "type":"int"},
{"name":"type",
"type":{"type":"enum", "name":"ItemType",
"symbols":["person", "job", "group", "company", "nus", "news", "ayn"]}},
{"name":"details","type":{"type":"map","values":"string" }
]}
}

                  "type" : "int"
               },
               {  
                  "name" : "type",
                  "type" : {
                     "type" : "enum",
                     "name" : "ItemType",
                     "symbols" : [ "person", "job", "group", "company", "nus",
"news", "ayn" ]
                  }
               },
               {  
                  "name" : "details",
                  "type" : {
                     "type" : "map",
                     "values" : "string"
                  }
               }
            ]
         }
      }
   ]
}

AvroStorage will construct two maps. One maps from type name to schema as

type name

schema

ImpressionSetEvent

the whole schema

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="81de18d80b34eedf-06c0e6d7-44c54bef-8598a193-30b25a425a32cba6d5aa1bd7"><ac:plain-text-body><![CDATA[

ImpressionDetailsRecord

{"type": "record", "name": ImpressionDetailsRecord","fields" : [{"name":"itemId", "type":"int"}, {"name":"itemType", "type":{"type":"enum", "name":"ItemType","symbols":["person", "job", "group", "company", "nus", "news", "ayn"]}}, {"name":"details","type":{"type":"map","values":"string" }}

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="24eb0072b7dab387-64b891f8-4c204b23-9528997b-c355b023fd4dd877aefac61d"><ac:plain-text-body><![CDATA[

ItemType

{"type":"enum", "name":"ItemType","symbols":["person", "job", "group", "company", "nus", "news", "ayn"]}

]]></ac:plain-text-body></ac:structured-macro>

...

field name

schema

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="478693bd0ab57703-97f93286-4ca14106-acceb0d8-dcb85971f0fb73d7beb24f2a"><ac:plain-text-body><![CDATA[

pageNumber

["int", "null"]

]]></ac:plain-text-body></ac:structured-macro>

impressionDetails

ImpressionDetailsRecord

impressionDetails.id

int

impressionDetails.type

ItemType

impressionDetails.details

{"type":"map","values":"string" }

...