我有一个带有10,1900行的文件,其中包括分隔符为5('|'([显然是6列],我在第六列中有语句,例如"删除12(0.01%(("!我渴望在括号内掉落后提取数字;
实际 - 掉落12(0.01%(
预期-0.01
我需要使用Apache Pig的解决方案。
您正在寻找REGEX_EXTRACT
函数。
假设您的表格A
看起来像:
+--------------------+
| col1 |
+--------------------+
| Dropped 12 (0.01%) |
| Dropped 24 (0.02%) |
+--------------------+
您可以在括号中提取以下数字:
B = FOREACH A GENERATE REGEX_EXTRACT(col6, '.*\((.*)%\)', 1);
+---------+
| percent |
+---------+
| 0.01 |
| 0.02 |
+---------+
我正在为(
和%)
之间的任何字符指定一个正则捕获组。请注意,我正在使用\
作为逃生字符,以便我匹配开口和关闭括号。