A = LOAD 'data.txt' USING PigStorage('[') AS (f1:chararray,f2:chararray);
B = FOREACH A GENERATE REPLACE(f1,',',''),REPLACE(f2,']','');
C = FOREACH B GENERATE $0,FLATTEN(STRSPLIT($1,','));
D = FOREACH C GENERATE $0,FLATTEN(TOBAG($1,$2,$3,$4)); -- Try TOBAG(*) if this doesn't work
DUMP D;
1条答案
按热度按时间4urapxun1#
使用“[”作为分隔符并加载数据。这将为您提供4和iab9、iab9-7、iab1、iab9-30]。删除第一列中的“,”和第二列中的“]”。然后使用strsplit或tokenize和tobag