使用猪中的regex_extarct_all将一组袋子拆分成多个元组

时间:2013-11-27 09:21:23

标签: regex apache-pig

我的输入字符串为

{(100),(200),(300)}

我希望使用regex_extract_all将它们分成不同的列。

我使用了REGEX_EXTRACT_ALL(data,'[^{(,)}]+'),我收到错误消息:

Could not infer the matching function for org.apache.pig.builtin.REGEX_EXTRACT_ALL as multiple or none of them fit. Please use an explicit cast.

我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果它是包的元组,则不能将其用作chararray字段 - 因此您不能使用REGEX_EXTRACT_ALL。如果要将其拆分为多个元组,请使用BagToTuple和FLATTEN函数。

e.g:

...
a = load '/tmp/1.txt';
b = group a by $0;
c = foreach b generate group, FLATTEN(BagToTuple(a.$1));
...