[
https://issues.apache.org/jira/browse/AVRO-160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768766#action_12768766
]
Philip Zeyliger commented on AVRO-160:
--------------------------------------
bq. Note that the only change permitted to a schema as a file is written is to,
if it is a union, to add new branches at the end of that union. If it is not a
union, no changes may be made. So it is still the case that the final schema in
a file can read every entry in the file and thus may be used to randomly access
the file.
For some reason, I thought you could go from
{ "type": "record", "name": "foo", "namespace": "foo", "fields": [{ "name":
"x", "type": "string" }] }
to
{ "type": "record", "name": "foo", "namespace": "foo", "fields": [{ "name":
"x", "type": "string" }, {"name": "y", "type": ["null", "string"] ] }
(That is, adding an optional extra field within some record, not just modifying
the top-level.)
Is that not the case?
> file format should be friendly to streaming
> -------------------------------------------
>
> Key: AVRO-160
> URL: https://issues.apache.org/jira/browse/AVRO-160
> Project: Avro
> Issue Type: Improvement
> Components: spec
> Reporter: Doug Cutting
>
> It should be possible to stream through an Avro data file without seeking to
> the end.
> Currently the interpretation is that schemas written to the file apply to all
> entries before them. If this were changed so that they instead apply to all
> entries that follow, and the initial schema is written at the start of the
> file, then streaming could be supported.
> Note that the only change permitted to a schema as a file is written is to,
> if it is a union, to add new branches at the end of that union. If it is not
> a union, no changes may be made. So it is still the case that the final
> schema in a file can read every entry in the file and thus may be used to
> randomly access the file.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.