複数の列で正規表現マッチングを実行しようとしています。
サンプルデータは次のとおりです。
(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
か?
返信をお待ちしております。ご協力をお願いいたします。