Add load/store function AvroStorage for avro data
-------------------------------------------------

                 Key: PIG-1748
                 URL: https://issues.apache.org/jira/browse/PIG-1748
             Project: Pig
          Issue Type: Improvement
          Components: impl
            Reporter: lin guo


We want to use Pig to process arbitrary Avro data and store results as Avro 
files. AvroStorage() extends two PigFuncs: LoadFunc and StoreFunc. 

Due to discrepancies of Avro and Pig data models, AvroStorage has:
1. Limited support for "record": we do not support recursively defined record 
because the number of fields in such records is data dependent.
2. Limited support for "union": we only accept nullable union like ["null", 
"some-type"].

For simplicity, we also make the following assumptions:
If the input directory is a leaf directory, then we assume Avro data files in 
it have the same schema;
If the input directory contains sub-directories, then we assume Avro data files 
in all sub-directories have the same schema.

AvroStorage takes no input parameters when used as a LoadFunc (except for 
"debug [debug-level]"). 
Users can provide parameters to AvroStorage when used as a StoreFunc. If they 
don't, Avro schema of output data is derived from its 
Pig schema.

Detailed documentation can be found in 
http://snaprojects.jira.com/wiki/display/HTOOLS/AvroStorage+-+Pig+support+for+Avro+data


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to