我如何在猪的一组袋子上使用 Distinct
How can I use Distinct on a group of bags in pig
这是我的输入,如下所述:
({(Fish M.),(Fish M.),(Fish M.),(Fish M.),(Fish M.)},{(Acasuso J.),(Acasuso J.),(Acasuso J.),(Acasuso J.),(Acasuso J.)},{(8/23/2007),(8/23/2007),(8/23/2007),(8/23/2007),(8/23/2007)},{(99.84002222685783),(58.173357215875676),(PSL),(41.66666501098216),(EXW)})
我想对第一个和第二个袋子做一个不同的操作,每个袋子都得到一个结果,从而产生如下输出:
(Fish M., Acasuso J., 8/23/2007, 99.84002222685783, 58.173357215875676, PSL, 41.66666501098216, EXW)
这个脚本应该可以工作,为了简洁起见,我忽略了你条目中的最后一个包。
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 讨论了可能适合您的场景的自定义加载器。
这是我的输入,如下所述:
({(Fish M.),(Fish M.),(Fish M.),(Fish M.),(Fish M.)},{(Acasuso J.),(Acasuso J.),(Acasuso J.),(Acasuso J.),(Acasuso J.)},{(8/23/2007),(8/23/2007),(8/23/2007),(8/23/2007),(8/23/2007)},{(99.84002222685783),(58.173357215875676),(PSL),(41.66666501098216),(EXW)})
我想对第一个和第二个袋子做一个不同的操作,每个袋子都得到一个结果,从而产生如下输出:
(Fish M., Acasuso J., 8/23/2007, 99.84002222685783, 58.173357215875676, PSL, 41.66666501098216, EXW)
这个脚本应该可以工作,为了简洁起见,我忽略了你条目中的最后一个包。
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 讨论了可能适合您的场景的自定义加载器。