If you define you records like this (this is in the Avro IDL lang. for brevity)

If you write your records with a schema like this:


record R {

    Header header;

    Body body;

  }



Then you can read with a schema like this:


  record RSansBody {

    Header header;

  }

And the Avro libraries will read the header part (in which your "type" would 
reside) and effectively skip the body part.

________________________________
From: Anna Lahoud <[email protected]>
Sent: Friday, August 16, 2013 12:23 PM
To: [email protected]
Subject: Is there a way to conditionally read Avro data?

I am wondering if there is a way that I can avoid reading all of an item in an 
Avro file, based on some of the data that I have already read. For instance, 
say I have a datum where I know that if it's 'type' value is a 'ComputerVirus', 
and that I do not want to touch the remaining fields. Is there a way to 'move 
on' and get the next datum, without touching the remainder of the scary datum? 
I would call it a 'conditional read' in that I only want to fully read the 
datum if the datum meets some criteria.

Anna

Reply via email to