基于字符串的过滤数据以任何单词/字符开头

时间:2017-08-06 06:36:59

标签: apache-pig

我正在尝试根据字符串匹配来提交类型为chararray的数据

12|john|30000|New jersey
11|mathews|23445|califonia
14|steve|230000|texas
23|jack|100000|SA
30|JAMES|300000|CANADA

案例1:

现在,我想基于以'j'开头的名称来过滤数据,因为我已经尝试过首先将数据加载到pig中的变量中。然后我尝试使用matches关键字过滤它,但这会返回所有行。

selected= filter scomp by ($1 MATCHES '.* j *.');

请指导我如何在只返回2行的情况下获得所需的结果。

案例2:

我还想返回3行(不区分大小写的数据)john,jack和James

感谢adv:)

1 个答案:

答案 0 :(得分:0)

语法为.*j.*

selected = filter scomp by ($1 matches '.*j.*');

对于不区分大小写的匹配

selected = filter scomp by ($1 matches '(?i).*j.*');