2017-02-03 47 views
0

我想這看起來我的輸入數據轉換,如:轉換豬元組的元素行

Id,Name,Types,Code 
1, A, a1;a2;a3, 101 
2, B, b1;b2, 202 
... 

成扁平化結構,其中類型分成單獨的行狀:

1, A, a1, 101 
1, A, a2, 101 
1, A, a3, 101 
2, B, b1, 202 
2, B, b2, 202 
... 

我在這裏試過的是在StrSplit之後,我得到一個元組,我嘗試將其轉換爲BAG,然後我可以將它們拼合成單獨的行。

input_data = LOAD '/user/gjhawar/latestSkillMappedEn.csv' USING PigStorage('|') AS 
(
id : chararray, 
name : chararray, 
type: chararray, 
code : chararray); 

a = LIMIT input_data 10; 

b = FOREACH a GENERATE (id, name, code), BagToString(TOBAG(STRSPLIT (type,'\\u003B',100)), ' ') as newCategoryName:chararray; 

回答