我有以下格式的数据:
(Id、描述)1, xyz是某数。Abc &;等等。
1, xyz是某数。Abc xyz &等等。
2、ABC是某物。Abc xyz &等等。
我需要这样的输出格式:
Id、词
我试过了:
A = LOAD './data.txt' USING PigStorage(',') as (id: int, desc:chararray);
B = FOREACH生成id,平(STRSPLIT (desc,"[?:; s]")),
这将导致如下输出:
1, xyz, is, something, Abc, bcd, so, on
我要的是:
xyz1,
1,
1,
等等. .
我如何在Pig中做到这一点(不写UDF)?
PS: Also tried:
B = FOREACH A生成id, FLATTEN(data .pig.util)。TransposeTupleToBag (STRSPLIT (desc"[。amp; ?:; s] ")));
您可以在pig中使用Tokenize。请看下面的答案。
这是输入文件
猫file11,xyz是某物
2、abc是什么
A = load 'file1' using PigStorage(',');
B = foreach A generate $0, FLATTEN(TOKENIZE($1));
转储B
(1, xyz)
(1) (1)(abc)
(2)(2)