根据以任意 word/character 开头的字符串过滤数据

Filter data based on string starts with any word/character

我正在尝试根据字符串匹配来归档 chararray 类型的数据

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

案例一:

现在,我想根据以 'j' 开头的名称过滤数据,为此我尝试首先将数据加载到 pig 中的变量中。然后我尝试使用 matches 关键字过滤它,但这是 returning 所有行。

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

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

案例二:

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

感谢副词:)

语法是.*j.*

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

对于不区分大小写的匹配项

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