Tengo un archivo con dos conjuntos de datos como el siguiente:

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

Los registros que comienzan con el n. ° 1 son un conjunto y los registros que comienzan con el n. ° 2 son conjuntos diferentes. Entonces ambos tienen diferentes estructuras. ¿Cómo separar esos dos conjuntos de registros?

-2
Ram 16 dic. 2016 a las 01:20

2 respuestas

La mejor respuesta

Aquí hay una forma ...

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.*');
0
Ravinder Karra 16 dic. 2016 a las 02:11

Con la nueva versión actualizada de entrada, aquí hay otra solución

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.*');
0
Ravinder Karra 16 dic. 2016 a las 16:21