...
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" } |
...