我的输入字符串为
{(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.
我错过了什么?
答案 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));
...