我正在尝试对多个列执行正则表达式匹配。
这是示例数据:
(dev=03,user=000,intip=138.40.13.24,extip=198.167.0.194,src_port=1109,dest_port=2613,response=6) (dev=03,user=000,intip=148.12.16.78,extip= 168.67.0.10,src_port=1460,dest_port=3610,响应=6)
预期输出:
(03,000,138.40.13.24,198.167.0.194,1109,2613,6)
(03,000,148.12.16.78,168.67.0.10,1460,3610,6)
这是脚本:
A = LOAD '---' using PigStorage as (value: chararray);
B = foreach A generate REGEX_EXTRACT_ALL('value', '(^.=(.)$)');
dump B;
输出:空白
()
()
()
如果我将使用脚本对单列执行正则表达式匹配:
A = LOAD '---' using PigStorage as (dev: chararray, user:chararray, intip:chararray, extip:chararray, srcport:chararray, destport:chararray, response:chararray);
B = foreach A generate REGEX_EXTRACT(dev, '(^.=(.)$)');
dump B;
输出:
(03) (03)
谁能告诉我,我的任何错误REGEX_EXTRACT_ALL
?
期待回复,非常感谢您的帮助。