根据以任意 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.*');
我正在尝试根据字符串匹配来归档 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.*');