Document BinStorage behaviour 
------------------------------

                 Key: PIG-1711
                 URL: https://issues.apache.org/jira/browse/PIG-1711
             Project: Pig
          Issue Type: Bug
          Components: documentation
    Affects Versions: 0.7.0, 0.6.0
            Reporter: Viraj Bhat
             Fix For: 0.9.0


We need to document some features of BinStorage that can cause indeterminate 
results.

I have a Pig script of this type:

{code}
raw = load 'sampledata' using BinStorage() as (col1,col2, col3);
--filter out null columns
A = filter raw by col1#'bcookie' is not null;

B = foreach A generate col1#'bcookie'  as reqcolumn;
describe B;
--B: {regcolumn: bytearray}
X = limit B 5;
dump X;

B = foreach A generate (chararray)col1#'bcookie'  as convertedcol;
describe B;
--B: {convertedcol: chararray}
X = limit B 5;
dump X;

{code}

The first dump produces:

(36co9b55onr8s)
(36co9b55onr8s)
(36hilul5oo1q1)
(36hilul5oo1q1)
(36l4cj15ooa8a)

The second dump produces:
()
()
()
()
()


So we need to write correct documentation on why this happens. One good 
explanation seems to be:

According to Alan:

BinStorage should not track data lineage. In the case where Pig is using 
BinStorage (or whatever) for moving data between MR jobs then Pig can figure 
out the correct cast function to use and apply it. For cases such as the one 
here where users are storing data using BinStorage and then in a separate Pig 
Latin script reading it (and thus loosing the type information) it is the users 
responsibility to correctly cast the data before storing it in BinStorage.


-- 
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