【发布时间】:2014-06-27 22:51:41
【问题描述】:
我有以下格式的数据:
(ID,描述)
1,xyz 是东西。 Abc bcd 等等。
1,xyz 是东西。 Abc xyz 等等。
2,abc 是什么东西。 Abc xyz 等等。
我需要这种格式的输出:
身份证,字
我试过这个:
A = LOAD './data.txt' USING PigStorage(',') as (id: int, desc:chararray);
B = FOREACH A GENERATE id, FLATTEN(STRSPLIT(desc, '[,?:;\s]'));
这会产生如下输出:
1, xyz, is, something, Abc, bcd, so, on
我想要的是:
1,xyz
1,是
1,某事
等等等等。
如何在 Pig 中执行此操作(无需编写 UDF)?
PS:也试过了:
B = FOREACH A GENERATE id, FLATTEN(datafu.pig.util.TransposeTupleToBag(STRSPLIT(desc, '[.&,?:;\s]')));
【问题讨论】:
标签: hadoop mapreduce apache-pig