2011-09-16 242 views
6

我有一頭豬工作的基礎上,凡在我需要尋找在一個字來過濾數據,PIG:過濾字符串中的字

以下是摘錄

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(); 

的誤差是在第三線雖然發現C, 我已經使用

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

另外

也嘗試

請你糾正並幫助我。

謝謝

回答

15

MATCHES使用正則表達式。相反,您應該執行... MATCHES '.*WORD.*'

這是一個例子here找到單詞'apache'。

+0

這是正確的語法,但我想知道爲什麼我們需要在該單詞周圍添加'。*'。爲什麼'MATCHES'WORD''不起作用? –