Фильтровать строку на основе слова - PullRequest
7 голосов
/ 16 сентября 2011

У меня есть свиная работа, где мне нужно отфильтровать данные, найдя в них слово,

Вот фрагмент

A = LOAD '/home/user/filename' USING PigStorage(',');
B = FOREACH A GENERATE $27,$38;
C = FILTER B BY ( $1 ==  '*Word*');
STORE C INTO '/home/user/out1' USING PigStorage();

Ошибка в 3-й строке, аНаходя C, я также попытался использовать

C = FILTER B BY $1 MATCHES '*WORD*'  

Также

C = FILTER B BY $1 MATCHES '\\w+WORD\\w+'  

1 Ответ

15 голосов
/ 17 сентября 2011

MATCHES использует регулярные выражения.Вместо этого вы должны сделать ... MATCHES '.*WORD.*'.

Это пример здесь поиска слова 'apache'.

...