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 |
+---------+
我正在为 (
和 %)
之间的任何字符指定一个正则表达式捕获组。请注意,我使用 \
作为转义字符,以便匹配左括号和右括号。
我有一个包含 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 |
+---------+
我正在为 (
和 %)
之间的任何字符指定一个正则表达式捕获组。请注意,我使用 \
作为转义字符,以便匹配左括号和右括号。