我有一个以管道分隔的文本文件,例如abc.txt。在不同记录中具有不同数量的列。记录中的列数可以是100,80,70,60。我需要根据第3列值拆分abc.txt。如果第三列有值" A"然后该记录将转到A.txt,如果" B"那么B.txt。需要编写PIG脚本。
答案 0 :(得分: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('|');