0

結果の先頭に正規表現を使用して文字列を追加する必要があります。私の作業正規表現は次のとおりです。

<img id="main-image" src="(.*?)"

その結果は次のとおりです。

/images/product/400x400/662/662544_400x400.jpg

実際の結果がこのようになるように、正規表現を使用して結果の先頭にwww.xyz.comを追加しようとしています。

www.xyz.com/images/product/400x400/662/662544_400x400.jpg

正規表現を解析するために、Java UDF と pig を使用しています

これを行う方法はありますか、アドバイスしてください。

4

2 に答える 2

1

Pig を使用している場合は、置換を正規表現に組み込む必要はありません。独自の UDF を作成している場合は、その必要もありません。組み込み関数REGEX_EXTRACTとを使用しCONCATます。

DESCRIBE A;
A: {tag: chararray}

DUMP A;
(<img id="main-image" src="/images/product/400x400/662/662544_400x400.jpg">)

B = FOREACH A GENERATE CONCAT('www.xyz.com', REGEX_EXTRACT(tag, '<img id="main-image" src="(.*?)"', 1));

DUMP B;
(www.xyz.com/images/product/400x400/662/662544_400x400.jpg)
于 2013-09-11T12:54:20.813 に答える