如何使用apache pig将一个包转换为多个包?

zkure5ic  于 2021-06-21  发布在  Pig
关注(0)|答案(2)|浏览(364)

我有一个包含以下两组数据的文件:

1,abc,10,dss
2,efgh,as
1,abc,10,1234
2,efgh,as
1,abc,10,7899
2,efgh,as

以1开头的记录是一组,以2开头的记录是不同的一组。所以两者都有不同的结构。如何区分这两组记录?

piztneat

piztneat1#

有了新的输入更新版本,下面是另一个解决方案

A = LOAD '/user/data/split.txt' as line:chararray;
B1 = filter A by $0  matches '1.*';
B2 = filter A by $0  matches '2.*';
or 
SPLIT A INTO B1 IF ($0  matches '1.*'), B2 IF ($0  matches '2.*');
hwazgwia

hwazgwia2#

这里有一个方法。。。

A = LOAD '/user/data/split.txt' as line:chararray;
B  = FOREACH A GENERATE  Flatten(TOKENIZE(line,' ')) ;
B1 = filter B by $0  matches '1.*';
B2 = filter B by $0  matches '2.*';
DUMP B1
DUMP B2
 or 
 SPLIT B INTO B1 IF ($0  matches '1.*'), B2 IF ($0  matches '2.*');

相关问题