特定字符串之后的Apache-pig数字提取



我有一个带有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    |
+---------+

我正在为(%)之间的任何字符指定一个正则捕获组。请注意,我正在使用\作为逃生字符,以便我匹配开口和关闭括号。

相关内容

  • 没有找到相关文章

最新更新