如何在 Apache Pig 中查找包含大量单词的列是不是具有真实的电子邮件 ID?

Posted

技术标签:

【中文标题】如何在 Apache Pig 中查找包含大量单词的列是不是具有真实的电子邮件 ID?【英文标题】:How to find whether a column with lots of words has a genuine email id or not in Apache Pig?如何在 Apache Pig 中查找包含大量单词的列是否具有真实的电子邮件 ID? 【发布时间】:2017-01-23 20:05:53 【问题描述】:

我有一列有段落。这是一个 10000 行的列,我需要在其中找到哪一列具有真实的电子邮件 ID。我用过columnname matches '(.*)@(.*).(.*)',它也给了我不需要的'@nelson' '.... @kumar...' 等输出。我只需要一个真实的电子邮件 ID。请让我知道如何使用 Apache Pig 代码在如此庞大的段落中找到它。

【问题讨论】:

【参考方案1】:

由于 PIG 使用 Java 正则表达式 form,您可以使用类似这样的东西,它可以涵盖大多数情况。

columnname matches '^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]2,6$'

如果您需要更多表达式,一个简单的“java 电子邮件验证正则表达式”搜索应该会为您提供大量表达式来验证电子邮件地址。

【讨论】:

以上是关于如何在 Apache Pig 中查找包含大量单词的列是不是具有真实的电子邮件 ID?的主要内容,如果未能解决你的问题,请参考以下文章

Apache Pig - 如何维护一个分布式查找表以供我的 python UDF 访问?

CSV 将大量数据加载到 Pig 中

如何检查元组是不是包含 Apache Pig 中的元素?

如何在 apache pig 中将列添加到已经存在的表中

Pig 错误:无法找到或加载主类 org.apache.pig.Main

Apache PIG - 如何更改文件的标准输出名称“part-r-00000”?