[jira] [Updated] (PIG-1748) Add load/store function AvroStorage for avro data

2011-12-06 Thread Russell Jurney (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIG-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Russell Jurney updated PIG-1748:


Attachment: AvroStorageUtils-bagfix.patch

This patch is a fix for a bug for persisting bags of tuples via AvroStorage.

The script that alerted me to a bug is:

messages = LOAD '/tmp/messages.avro' USING AvroStorage();
user_groups = GROUP messages by user_id;
per_user = FOREACH user_groups {
sorted = ORDER messages BY message_id DESC; 
GENERATE group AS user_id, sorted AS messages;
}
DESCRIBE per_user
 per_user: {user_id: int,messages: {(message_id: int,topic: chararray,user_id: 
 int)}}
STORE per_user INTO '/tmp/per_user.avro' USING AvroStorage();

The error is:

Pig Stack Trace
---
ERROR 1002: Unable to store alias per_user

org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1002: Unable to store 
alias per_user
at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1596)
at org.apache.pig.PigServer.registerQuery(PigServer.java:584)
at 
org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:942)
at 
org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:386)
at 
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:188)
at 
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:164)
at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:67)
at org.apache.pig.Main.run(Main.java:487)
at org.apache.pig.Main.main(Main.java:108)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Caused by: java.lang.NullPointerException
at 
org.apache.pig.piggybank.storage.avro.AvroStorageUtils.isTupleWrapper(AvroStorageUtils.java:327)
at 
org.apache.pig.piggybank.storage.avro.PigSchema2Avro.convert(PigSchema2Avro.java:82)
at 
org.apache.pig.piggybank.storage.avro.PigSchema2Avro.convert(PigSchema2Avro.java:105)
at 
org.apache.pig.piggybank.storage.avro.PigSchema2Avro.convertRecord(PigSchema2Avro.java:151)
at 
org.apache.pig.piggybank.storage.avro.PigSchema2Avro.convert(PigSchema2Avro.java:62)
at 
org.apache.pig.piggybank.storage.avro.AvroStorage.checkSchema(AvroStorage.java:502)
at 
org.apache.pig.newplan.logical.rules.InputOutputFileValidator$InputOutputFileVisitor.visit(InputOutputFileValidator.java:65)
at 
org.apache.pig.newplan.logical.relational.LOStore.accept(LOStore.java:77)
at 
org.apache.pig.newplan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:64)
at 
org.apache.pig.newplan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:66)
at 
org.apache.pig.newplan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:66)
at 
org.apache.pig.newplan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:66)
at 
org.apache.pig.newplan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:66)
at 
org.apache.pig.newplan.DepthFirstWalker.walk(DepthFirstWalker.java:53)
at org.apache.pig.newplan.PlanVisitor.visit(PlanVisitor.java:50)
at 
org.apache.pig.newplan.logical.rules.InputOutputFileValidator.validate(InputOutputFileValidator.java:45)
at 
org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.compile(HExecutionEngine.java:292)
at org.apache.pig.PigServer.compilePp(PigServer.java:1360)
at 
org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1297)
at org.apache.pig.PigServer.execute(PigServer.java:1286)
at org.apache.pig.PigServer.access$400(PigServer.java:125)
at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1591)
... 13 more


 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
Assignee: lin guo
 Fix For: 0.9.0

 Attachments: AvroStorageUtils-bagfix.patch, PIG-1748-2.patch, 
 PIG-1748-3.patch, avro_storage.patch, avro_test_files.tar.gz


 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. 

[jira] [Updated] (PIG-1748) Add load/store function AvroStorage for avro data

2011-07-05 Thread Jakob Homan (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIG-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jakob Homan updated PIG-1748:
-

Assignee: lin guo  (was: Jakob Homan)

 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
Assignee: lin guo
 Fix For: 0.9.0

 Attachments: PIG-1748-2.patch, PIG-1748-3.patch, avro_storage.patch, 
 avro_test_files.tar.gz


 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://linkedin.jira.com/wiki/display/HTOOLS/AvroStorage+-+Pig+support+for+Avro+data

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (PIG-1748) Add load/store function AvroStorage for avro data

2011-01-31 Thread Daniel Dai (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIG-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Dai updated PIG-1748:


Release Note:   (was: Patch committed to trunk. Thanks Lin, Jakob!)

 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
Assignee: Jakob Homan
 Fix For: 0.9.0

 Attachments: PIG-1748-2.patch, PIG-1748-3.patch, avro_storage.patch, 
 avro_test_files.tar.gz


 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.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] Updated: (PIG-1748) Add load/store function AvroStorage for avro data

2011-01-19 Thread Jakob Homan (JIRA)

 [ 
https://issues.apache.org/jira/browse/PIG-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jakob Homan updated PIG-1748:
-

Attachment: avro_test_files.tar.gz

Attaching binary test avro files used by unit tests.  Need to be untgz'ed and 
placed in 
contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/avro_test_files
 by reviewer/committer

 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
 Attachments: avro_storage.patch, avro_test_files.tar.gz, 
 PIG-1748-2.patch


 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.