2013-02-22 36 views
6

में प्रसंस्करण से पहले सॉर्ट रेड्यूसर इनपुट इटरेटर वैल्यू सॉर्ट करें मेरे पास मूल्य प्रकार इटरेटर के साथ रेड्यूसर में कुछ इनपुट डेटा आ रहा है। मैं मूल्यों की इस सूची को आरोही क्रम में कैसे क्रमबद्ध कर सकता हूं?हडोप

मुझे उन्हें क्रमशः क्रमबद्ध करने की आवश्यकता है क्योंकि वे समय-समय पर मूल्यवान हैं, रेड्यूसर में सभी को संसाधित करने से पहले।

+0

सुनिश्चित नहीं हैं कि मैं पूरी तरह से कम करने से पहले सॉर्ट करने के लिए चाहते हैं के लिए आपकी प्रेरणा को समझने:
यहाँ माध्यमिक प्रकार के बारे में एक बहुत अच्छा विवरण है। – mohit6up

उत्तर

4

Hadoop के अंतर्निहित सुविधाओं का उपयोग कम करने इनपुट मानों की छंटाई प्राप्त करने के लिए, आप यह कर सकते हैं:

1.Modify नक्शा उत्पादन कुंजी - इसी value.Emit के साथ नक्शा उत्पादन कुंजी संलग्न इस समग्र कुंजी और मान नक्शा से। चूंकि हैडऑप सॉर्टिंग के लिए डिफ़ॉल्ट रूप से पूरी कुंजी का उपयोग करता है, मानचित्र आउटपुट रिकॉर्ड (आपकी पुरानी कुंजी + मान) द्वारा क्रमबद्ध किया जाएगा।

2. हालांकि चरण 1 में सॉर्टिंग किया जाता है, आपने प्रक्रिया में मानचित्र आउटपुट कुंजी का उपयोग किया है। हैडोप डिफ़ॉल्ट रूप से कुंजी के आधार पर विभाजन और ग्रुपिंग करता है।

3.Since आप मूल कुंजी, आप विभाजनर और GroupingComparator को संशोधित करने की देखभाल की जरूरत पुराने कुंजी अर्थात, केवल पहले अपने समग्र कुंजी का हिस्सा के आधार पर काम करने के लिए संशोधित किया है। विभाजनकर्ता - यह तय करता है कि कौन से कुंजी-मूल्य जोड़े एक ही रेड्यूसर उदाहरण
समूहकंपेटर - यह तय करता है कि रेड्यूसर में उतरने वाले लोगों के बीच कौन से महत्वपूर्ण मूल्य जोड़े एक ही विधि विधि कॉल पर जाते हैं।

4. अंतिम रूप से (और स्पष्ट रूप से) आपको पुरानी कुंजी प्राप्त करने के लिए Reducer में इनपुट कुंजी के पहले भाग को निकालने की आवश्यकता है।

आप और अधिक (और एक बेहतर) जवाब की जरूरत है, Hadoop निश्चित गाइड 3 संस्करण के लिए बारी -> अध्याय 8 -> छँटाई -> माध्यमिक तरह

+0

बिल्कुल, डेविड ग्रुज़मैन ने इस http://pkghosh.wordpress.com/2011/04/13/map-reduce-secondary-sort-does-it-all/ पर एक अच्छा उदाहरण संदर्भित किया –

6

आप के लिए माध्यमिक क्रमबद्ध कहा जाता है क्या पूछा। संक्षेप में - आप इसे "वैल्यू सॉर्ट कुंजी" जोड़ने के लिए कुंजी बढ़ाते हैं और केवल "असली कुंजी" द्वारा समूह में हूप अप करते हैं लेकिन दोनों द्वारा क्रमबद्ध करें।
http://pkghosh.wordpress.com/2011/04/13/map-reduce-secondary-sort-does-it-all/