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

Apache pig 如何使用apache pig将一个包转换为多个包?,apache-pig,Apache Pig,我有一个包含两组数据的文件,如下所示: 1,abc,10,dss 2,efgh,as 1,abc,10,1234 2,efgh,as 1,abc,10,7899 2,efgh,as 以#1开头的记录是一个集合,而以#2开头的记录是不同的集合。所以两者都有不同的结构。如何区分这两组记录?这里有一种方法 A = LOAD '/user/data/split.txt' as line:chararray; B = FOREACH A GENERATE Flatten(TOKENIZE(line,

我有一个包含两组数据的文件,如下所示:

1,abc,10,dss
2,efgh,as
1,abc,10,1234
2,efgh,as
1,abc,10,7899
2,efgh,as
以#1开头的记录是一个集合,而以#2开头的记录是不同的集合。所以两者都有不同的结构。如何区分这两组记录?

这里有一种方法

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.*');

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

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.*');

您好,我收到以下错误:2016-12-16 10:32:17936[main]error org.apache.pig.tools.grunt.grunt-错误1025:字段投影无效。投影字段[行]不存在。我使用PigStorage(',')运行了以下代码:grunt>file2=LOAD'/hls/hls_wi/training/twofile.csv';grunt>B=FOREACH文件2生成扁平化(标记化(行“”);您正在使用“使用PigStorage(',');“就地使用”作为行:chararray;,并标记并确认您的输入格式。