2011-09-16 9 views
6

मैं एक सुअर नौकरी के आधार पर एक स्ट्रिंग फ़िल्टर जहां में मैं इसे में एक शब्द का पता लगाकर डेटा को फ़िल्टर करने की जरूरत है,सुअर: एक शब्द

यहाँ टुकड़ा

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 = FILTER B BY $1 MATCHES '*WORD*' 

इसके अलावा

का उपयोग कर की कोशिश की है

क्या आप कृपया सही कर सकते हैं और मेरी मदद कर सकते हैं।

धन्यवाद

उत्तर

15

MATCHES नियमित अभिव्यक्ति का उपयोग करता है। आपको इसके बजाय ... MATCHES '.*WORD.*' करना चाहिए।

ये एक उदाहरण है here शब्द 'अपाचे' ढूंढना।

+0

जो सही वाक्यविन्यास है, लेकिन मुझे आश्चर्य है कि हमें शब्द के आसपास '। *' जोड़ने की आवश्यकता क्यों है। 'मैचों' वर्ड क्यों काम नहीं कर रहा है? –

संबंधित मुद्दे