2017-04-26 72 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('|'); 
相關問題