2017-04-26 88 views
0

我有一个管道分隔的文本文件,比如说abc.txt。在不同的记录中有不同的列数。记录中的列数可以是100,80,70,60。我需要根据第三列值拆分abc.txt。如果第三列的值为“A”,那么该记录将转到A.txt,如果“B”然后是B.txt。需要编写一个PIG脚本。使用PIG脚本将一个文件拆分为多个文件

回答

0
abc = LOAD 'abc.txt' using PigStorage('|'); 

使用了该位置的符号假设你在所有的记录具有3列,SPLIT。它从0,所以第三列将是$2

SPLIT abc into a_records if $2 == 'A', b_records if $2 == 'B'; 

然后存储结果,还要注意STORE不接受文件名作为路径。

STORE a_records into 'A_DIR' using PigStorage('|'); 
STORE b_records into 'B_DIR' using PigStorage('|'); 
相关问题