hadoop - 如何比较 PIG 中的两列并删除任何相同的值,无论大写/小写

标签 hadoop apache-pig

我有 3 列,一个 id 列和 2 个名称列。有时 2 个名称列的值相同,但其中一个在一列中为大写,而在另一列中为小写。如何删除值相同(或具有相似字符)但大小写不同的值?

例如:

a = 加载 txt 文件 a = foreach a 生成id, name1, name2

当前输出:

id1, james, JAMES
id2, tom, Tom
id3, Jim, Bob
id4, Bill, billy

预期输出:下面只有这 1 个结果

a = 比较 name1 和 name2,如果 name1 中有任何相似的字符也在 name 2 中,则将其过滤掉

id3,吉姆,鲍勃

感谢您的帮助!

最佳答案

假设您已经将数据加载到关系 A 中并且名称是 chararray 类型。

A = FILTER A BY (LOWER(A.$1) != LOWER(A.$2))
DUMP A;

关于hadoop - 如何比较 PIG 中的两列并删除任何相同的值,无论大写/小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41620476/

相关文章:

hadoop - 如何将Hadoop版本从3.2.1转换为2.2.0?

amazon-s3 - Hadoop 输入文件

database - 将SolrCloud与RDBMS结合使用或将Solr用作主要数据存储

hadoop - 使用Pig/Hadoop中的Generate生成非空数据的Null错误

java - 使用泛型类的内部类

maven - 在 Windows 8 上构建 Hadoop 2.6 时出错

python - 是否可以将标量参数传递给 Python UDF?

java - Apache Pig UDF 和 outputSchema 定制

java - 写入输出java时从输入中删除相同的字母

apache-pig - JOIN 后重命名字段需要时间吗?