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

Apache-pig Number Extraction After a specific String

我有一个包含 10,1900 行的文件,分隔符为 5 ('|') [现在显然是 6 列],并且我在第六列中有声明,如 "Dropped 12 (0.01%)" !!我渴望提取括号内的数字;

实际 -- 下降 12 (0.01%)

预期 -- 0.01

我需要一个使用 Apache pig 的解决方案。

您正在查找 REGEX_EXTRACT 函数。

假设您有一个 table A 看起来像:

+--------------------+
|        col1        |
+--------------------+
| Dropped 12 (0.01%) |
| Dropped 24 (0.02%) |
+--------------------+

您可以通过以下方式提取括号中的数字:

B = FOREACH A GENERATE REGEX_EXTRACT(col6, '.*\((.*)%\)', 1);

+---------+
| percent |
+---------+
| 0.01    |
| 0.02    |
+---------+

我正在为 (%) 之间的任何字符指定一个正则表达式捕获组。请注意,我使用 \ 作为转义字符,以便匹配左括号和右括号。