2012-05-29 8 views
8

में प्रोजेक्टिंग समूहबद्ध टुपल्स मेरे पास फॉर्म (टी, ए, बी) के टुपल्स का संग्रह है जिसे मैं पी में बी द्वारा समूह करना चाहता हूं। एक बार समूहित होने के बाद, मैं प्रत्येक समूह में tuples से बी फ़िल्टर करना चाहता हूं और प्रति समूह फ़िल्टर किए गए tuples का एक बैग उत्पन्न करना चाहता हूँ।पिग

उदाहरण के लिए, मान लेते हैं कि हम (1,2,1) (2,0,1) (3,4,2) (4,1,2) है (5,2,3)

सुअर पटकथा का निर्माण होगा {(1,2), (2,0)} {(3,4), (4,1)} {(5,2)}

सवाल यह है कि मैं इस परिणाम के उत्पादन के बारे में कैसे जा सकता हूं? मुझे उदाहरण देखने के लिए उपयोग किया जाता है जहां एकत्रीकरण संचालन ऑपरेशन द्वारा समूह का पालन करता है। यह मुझे कम स्पष्ट है कि tuples को फ़िल्टर करने और उन्हें एक बैग में वापस कैसे करें। आपकी सहायता के लिए धन्यवाद!

उत्तर

8

जो मैं ढूंढ रहा था उसे बदलता है सुअर में नेस्टेड प्रक्षेपण के लिए वाक्यविन्यास है।

यदि किसी के पास फॉर्म (टी, ए, बी) के tuples है और समूह के बाद बी ड्रॉप करना चाहता है, तो यह इस तरह से किया जाता है।

grouped = GROUP tups BY b; 
result = FOREACH grouped GENERATE tup.(t,a); 

पिगलाटिन पेज पर "नेस्टेड प्रक्षेपण" अनुभाग देखें। http://wiki.apache.org/pig/PigLatin

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