2016-04-05 7 views
0

データスキーマがあります。{col1:chararray,col2:int,col3:bag{}}Apache Pigでいくつかの列を交差する方法は?

です。私は

{a,1,d} 

{a,1,e} 

{b,2,c} 

のような出力を持ちたい

{a,1,{d,e}} 

{b,2,{c}} 

私はそれが一種のいくつかの列の上にクロスを持っているようなものだと思うが、私は同じことを達成する方法がわかりませんか?たぶん出力を得るためのいくつかの方法があります。

答えて

0

あなたはToBag関数に使用して平らにする必要があります

A = LOAD 'data.txt' USING PigStorage('\t') as (col1:chararray,col2:int,col3:bag{}); 
B = FOREACH A GENERATE col1,col2, FLATTEN(TOBAG(col3)); 
関連する問題