Hi Mix, 
       You are doing a TOBAG on a tuple which will put  it as {((11,22,33))}. 
flatten the tuple before doing the TOBAG.
 Z = foreach Y GENERATE id ,flatten(split_qc); 
A = foreach Z generate $0, flatten(TOBAG($1,$2,$3)); 
--
Harsha


On Wednesday, March 6, 2013 at 4:41 PM, Mix Nin wrote:

> I have a file with below data
> 
> xxxxx 11,22,33 44,55,66 77,88,99
> 
> I wrote below PIG script
> 
> X= LOAD '/user/lnindrakrishna/tmp/ExpTag.txt' AS (id :chararray,qc
> :chararray ,qt :chararray ,qe :chararray );
> 
> Y = Foreach X generate id, STRSPLIT(qc,',') AS split_qc , STRSPLIT(qt,',')
> AS split_qt, STRSPLIT(qe,',') AS split_qe;;
> 
> Z = foreach Y generate id, FLATTEN(TOBAG(split_qc));
> 
> I expected output as follows:
> 
> xxxxx 11
> xxxxx 22
> xxxxx 33
> 
> But the above script is producing output as follows
> 
> (xxxxx,11,22,33)
> 
> FLATTEN is not actually flattening the bag of tuple. Any inputs here?
> 
> - Thanks 

Reply via email to