0

这是我的输入,如下所述:

({(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)

4

1 回答 1

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

您可能必须使用自定义加载函数,因为默认加载器无法工作(除非您进行一些数据清理)。这篇文章讨论了一个可能适合您的场景的自定义加载器。

于 2015-05-18T03:56:16.433 回答