这是我的输入,如下所述:
({(Fish M。),(Fish M。),(Fish M。),(Fish M。),(Fish M。)},{(Acasuso J。),(Acasuso。),( Acasuso J。),(Acasuso J。),(Acasuso J。)},{(2007年8月23日),(2007年8月23日),(2007年8月23日),(8/23/2007) ,(2007/8/23)},{(99.84002222685783),(58.173357215875676),(PSL),(41.66666501098216),(EXW)})
我想在第一个和第二个袋子上做一个明显的结果,每个袋子得到一个结果,产生这样的输出:
(Fish M.,Acasuso J.,8/23 / 2007,99.84002222685783,58.173357215875676,PSL,41.66666501098216,EXW)
答案 0 :(得分:2)
这个脚本应该可以使用,为了简洁,我忽略了你输入的最后一个包。
rr = load 'data/pig/input/Pig_DataSets/six' using CustomLoadFunction() as (one:bag{tup1:(c1:chararray)},two:bag{tup2:(c2:chararray)},three:bag{tup3:(c3:chararray)});
tt = foreach rr {
mm = two;
nn = distinct mm;
oo = one;
pp = distinct oo;
generate three,pp,nn;
};
您可能必须使用自定义加载函数,因为默认加载器不起作用(除非您进行一些数据清理)。这个post讨论了一个可能适合你的场景的自定义加载器。