在多列上使用Pig搜索

时间:2015-07-17 19:50:19

标签: apache-pig

您好我尝试使用Apache pig对我的数据执行搜索操作。我的代码如下所示

data = load 'sample.txt' using PigStorage(',') as (id:chararray, fname:chararray, lname:chararray);
C = filter data by fname matches '.*Ma.*';
D = foreach C generate construction;
dump D;

在这里,我可以找到fname或lname上的数据。但我想在两个列上执行搜索。

我试过以下 1)通过在fname上添加搜索条件来对数据应用过滤器。

2)通过在lname上添加搜索条件来对数据应用过滤器

3)联合搜索结果;

这是正确的方法还是其他任何好的建议。

1 个答案:

答案 0 :(得分:1)

使用OR并在单个FILTER中执行搜索

C = filter data by fname matches '.*Ma.*' OR lname matches '.*Ma.*';