如何使用猪中的正则表达式替换另一个表达式

时间:2016-05-30 13:29:39

标签: regex hadoop apache-pig

我正在使用正则表达式提取名称:

" REGISTER piggybank.jar
A = LOAD 'table_DHCP' USING org.apache.hcatalog.pig.HCatLoader();
B = foreach A  generate REGEX_EXTRACT_ALL (name,'.*-(.*).engtp.dz$');
dump B; "

表达式之前是:departement-name.engtp.dz,我使用正则表达式只提取colomn名称中的名称, 但现在我想用正则表达式给我的表达式替换“departement-name.engtp.dz”,那么我怎样才能用正则表达式做到这一点?请

1 个答案:

答案 0 :(得分:0)

使用replace函数,如果您熟悉Java,则在Pig中替换只是Java中replaceAll的实现。

然后使用捕获组参考:

REPLACE(name, '.*-(.*).engtp.dz$', '$1');