[ https://issues.apache.org/jira/browse/PIG-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12981642#action_12981642 ]
Ashutosh Chauhan commented on PIG-847: -------------------------------------- bq. I propose to remove twoLevelAccess, all bag implicitly contain tuple, and bag projection implicitly goes to the item inside tuple. +1 for removal of twoLevelAccess and all the confusion it results in. Will this decision has any bearing on bags having other types? People have suggested for having a datatype for a collection of objects (like integer, long etc.) If we mandate that bags necessarily contain tuples, are we eliminating the possibility of implementing bags containing other types? > Setting twoLevelAccessRequired field in a bag schema should not be required > to access fields in the tuples of the bag > --------------------------------------------------------------------------------------------------------------------- > > Key: PIG-847 > URL: https://issues.apache.org/jira/browse/PIG-847 > Project: Pig > Issue Type: Improvement > Affects Versions: 0.3.0 > Reporter: Pradeep Kamath > Assignee: Daniel Dai > Fix For: 0.9.0 > > > Currently Pig interprets the result type of a relation as a bag. However the > schema of the relation directly contains the schema describing the fields in > the tuples for the relation. However when a udf wants to return a bag or if > there is a bag in input data or if the user creates a bag constant, the > schema of the bag has one field schema which is that of the tuple. The > Tuple's schema has the types of the fields. To be able to access the fields > from the bag directly in such a case by using something like > <bagname>.<fieldname> or <bag>.<fieldposition>, the schema of the bag should > have the twoLevelAccess set to true so that pig's type system can get > traverse the tuple schema and get to the field in question. This is confusing > - we should try and see if we can avoid needing this extra flag. A possible > solution is to treat bags the same way - whether they represent relations or > real bags. Another way is to introduce a special "relation" datatype for the > result type of a relation and bag type would be used only for true bags. In > this case, we would always need bag schema to have a tuple schema which would > describe the fields. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.