avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ey-Chih chow <eyc...@gmail.com>
Subject Re: Why is the String type a Schema property?
Date Sun, 27 May 2012 01:58:08 GMT
Under the avro map/reduce framework, if we use the generic representation, how can we specify
reader's schema?  In addition, what kind of advantages we can get if we use the generic representation?
 Thanks.

Ey-Chih Chow

On May 24, 2012, at 11:51 AM, Doug Cutting wrote:

> On 05/24/2012 10:28 AM, Mark Hayes wrote:
>> The stored/shared schema must either have these string type properties,
>> or not.  If it does have them, this impacts the string type for all
>> clients reading from the database.  So they would have to all agree on
>> the string type, or dynamically determine it.
> 
> No, there are two schemas involved in reading, the writer's and the reader's.  The reader's
schema can determine what string representation is used.  This is the case with reflect and
specific, which resolve the schema used when writing against the schema of the class that's
being used to represent things when reading.  So you don't need to worry about reflect or
specific, since they supply their own schema that has the string representation they expect.
> 
> So you only need to worry about different string representations if you're using the
generic representation and do not specify a distinct reader's schema that you expect to see
things as, or if you use some other kind of datum reader (e.g., one you've written yourself)
that subclasses GenericDatumReader, doesn't override readString(), and you don't pass an expected,
reader's schema.
> 
> Doug


Mime
View raw message