Hadoop के अंतर्निहित सुविधाओं का उपयोग कम करने इनपुट मानों की छंटाई प्राप्त करने के लिए, आप यह कर सकते हैं:
1.Modify नक्शा उत्पादन कुंजी - इसी value.Emit के साथ नक्शा उत्पादन कुंजी संलग्न इस समग्र कुंजी और मान नक्शा से। चूंकि हैडऑप सॉर्टिंग के लिए डिफ़ॉल्ट रूप से पूरी कुंजी का उपयोग करता है, मानचित्र आउटपुट रिकॉर्ड (आपकी पुरानी कुंजी + मान) द्वारा क्रमबद्ध किया जाएगा।
2. हालांकि चरण 1 में सॉर्टिंग किया जाता है, आपने प्रक्रिया में मानचित्र आउटपुट कुंजी का उपयोग किया है। हैडोप डिफ़ॉल्ट रूप से कुंजी के आधार पर विभाजन और ग्रुपिंग करता है।
3.Since आप मूल कुंजी, आप विभाजनर और GroupingComparator को संशोधित करने की देखभाल की जरूरत पुराने कुंजी अर्थात, केवल पहले अपने समग्र कुंजी का हिस्सा के आधार पर काम करने के लिए संशोधित किया है। विभाजनकर्ता - यह तय करता है कि कौन से कुंजी-मूल्य जोड़े एक ही रेड्यूसर उदाहरण
समूहकंपेटर - यह तय करता है कि रेड्यूसर में उतरने वाले लोगों के बीच कौन से महत्वपूर्ण मूल्य जोड़े एक ही विधि विधि कॉल पर जाते हैं।
4. अंतिम रूप से (और स्पष्ट रूप से) आपको पुरानी कुंजी प्राप्त करने के लिए Reducer में इनपुट कुंजी के पहले भाग को निकालने की आवश्यकता है।
आप और अधिक (और एक बेहतर) जवाब की जरूरत है, Hadoop निश्चित गाइड 3 संस्करण के लिए बारी -> अध्याय 8 -> छँटाई -> माध्यमिक तरह
स्रोत
2013-02-22 07:01:49
सुनिश्चित नहीं हैं कि मैं पूरी तरह से कम करने से पहले सॉर्ट करने के लिए चाहते हैं के लिए आपकी प्रेरणा को समझने:
यहाँ माध्यमिक प्रकार के बारे में एक बहुत अच्छा विवरण है। – mohit6up