यहाँ समूह के लिए एक उदाहरण है। एक समग्र कुंजी (a, b)
और इसके मान v
पर विचार करें।
(a1, b11) -> v1
(a1, b12) -> v2
(a1, b13) -> v3
डिफ़ॉल्ट समूह तुलनित्र के साथ ढांचे संबंधित साथ reduce
समारोह 3 बार फोन करेगा (कुंजी: और मान लेते हैं कि छँटाई के बाद आप अंत, दूसरों के बीच, (कुंजी, मूल्य) जोड़े के निम्नलिखित समूह के साथ जाने , मूल्य) जोड़े, क्योंकि सभी चाबियाँ अलग हैं।हालांकि, यदि आप अपना खुद का कस्टम समूह तुलनित्र प्रदान करते हैं, और इसे परिभाषित करते हैं ताकि यह a
पर निर्भर करता है, b
को अनदेखा कर देता है, तो ढांचा निष्कर्ष निकाला है कि इस समूह की सभी कुंजी बराबर हैं और निम्न कुंजी का उपयोग करके केवल एक बार कम करने के लिए कॉल को कॉल करती है और मानों की सूची:
(a1, b11) -> <v1, v2, v3>
ध्यान दें कि केवल पहले समग्र कुंजी प्रयोग किया जाता है, और कहा कि बी 12 और B13 "खो" कर रहे हैं, यानी, कम करने के लिए पारित नहीं।
सालाना अधिकतम तापमान कंप्यूटिंग "हडोप" पुस्तक से प्रसिद्ध उदाहरण में वर्ष a
वर्ष है, और b
तापमान अवरोही क्रम में क्रमबद्ध हैं, इस प्रकार बी 11 वांछित अधिकतम तापमान है और आप नहीं अन्य b
के बारे में परवाह है। कम समारोह केवल उस वर्ष के समाधान के रूप में प्राप्त (ए 1, बी 11) लिखता है।
"bigdataspeak.com" से आपके उदाहरण में सभी b
रेड्यूसर में आवश्यक हैं, लेकिन वे संबंधित मानों (ऑब्जेक्ट्स) v
के हिस्सों के रूप में उपलब्ध हैं।
इस तरह, कुंजी में अपने मूल्य या उसके हिस्से को शामिल करके, आप केवल अपनी चाबियाँ, बल्कि आपके मूल्यों को क्रमबद्ध करने के लिए हैडोप का उपयोग कर सकते हैं।
उम्मीद है कि इससे मदद मिलती है।
आगे के संदर्भ के लिए .. http://codingjunkie.net/secondary-sort/ –
द्वितीयक सॉर्टिंग आंतरिक रूप से कैसे काम करती है? मैपर से reducer का वास्तविक प्रवाह क्या है? – user1585111
समझने के लिए ... इस लिंक को देखें http://answers.oreilly.com/topic/457-introduction-to-mapreduce-workflows/ –