विभाजन यह निर्धारित करने की प्रक्रिया है कि कौन सा रेड्यूसर उदाहरण प्राप्त करेगा जो मध्यवर्ती कुंजी और मान प्राप्त करेगा। प्रत्येक मैपर को अपने सभी आउटपुट (कुंजी, वैल्यू) जोड़े के लिए निर्धारित करना होगा जो reducer उन्हें प्राप्त करेंगे। यह जरूरी है कि किसी भी कुंजी के लिए, चाहे मैपर उदाहरण किसने उत्पन्न किया हो, गंतव्य विभाजन एक ही समस्या है: हडूप इसे कैसे बनाता है? हैश फ़ंक्शन का उपयोग करें? डिफ़ॉल्ट कार्य क्या है?विभाजन! हडूप इसे कैसे बनाता है? हैश फ़ंक्शन का उपयोग करें? डिफ़ॉल्ट कार्य क्या है?
6
A
उत्तर
16
हैडोप में डिफ़ॉल्ट विभाजनकर्ता HashPartitioner
है जिसमें getPartition
नामक एक विधि है। यह key.hashCode() & Integer.MAX_VALUE
लेता है और कार्यों को कम करने की संख्या का उपयोग करके मॉड्यूलस पाता है।
उदाहरण के लिए, यदि 10 कार्य कम करते हैं, तो getPartition
सभी चाबियों के लिए 0 से 9 मान वापस कर देगा।
यहाँ कोड है:
public class HashPartitioner<K, V> extends Partitioner<K, V> {
public int getPartition(K key, V value, int numReduceTasks) {
return (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks;
}
}
एक कस्टम विभाजक बनाने के लिए, आप Partitioner
का विस्तार, एक विधि getPartition
बन जाएगा, तो ड्राइवर कोड (job.setPartitionerClass(CustomPartitioner.class);
) में अपने विभाजक निर्धारित किया है। उदाहरण के लिए, माध्यमिक प्रकार के संचालन करते समय यह विशेष रूप से सहायक होता है।
संबंधित मुद्दे
- 1. NSObject isEqual क्या है: और हैश डिफ़ॉल्ट फ़ंक्शन?
- 2. क्या यह "तेज़ हैश" कार्य खतरनाक है?
- 3. क्या xpath में कोई विभाजन कार्य है?
- 4. हडूप में "अवैध विभाजन" त्रुटि को कैसे ठीक करें?
- 5. क्या .NET स्ट्रिंग हैश फ़ंक्शन पोर्टेबल है?
- 6. हडूप मानचित्र में समूहीकरण समूह के उपयोग का क्या उपयोग
- 7. क्या कोई सौम्य हैश फ़ंक्शन ट्यूटोरियल है?
- 8. क्या कोई ग्लिब हैश फ़ंक्शन है?
- 9. MYSQL विभाजन क्या है?
- 10. हडूप
- 11. फ़ंक्शन नाम से पहले तारांकन का कार्य क्या है?
- 12. टीएफएस कैसे बनाता है?
- 13. सी ++ std :: unordered_map में उपयोग किया गया डिफ़ॉल्ट हैश फ़ंक्शन क्या है?
- 14. जावा में हैश फ़ंक्शन क्या है?
- 15. फ़ंक्शन पॉइंटर्स का उपयोग क्या है?
- 16. क्या पर्ल का उपयोग करने के लायक प्रत्येक कार्य है?
- 17. "इसे हटाएं" का उपयोग क्या है?
- 18. टेबल विभाजन क्या है?
- 19. हैश फ़ंक्शन के लिए वृद्धिशील होने का क्या अर्थ है?
- 20. क्या underscore.js में चेन फ़ंक्शन एक मोनड बनाता है?
- 21. कार्य। जब सभी() - क्या यह एक नया धागा बनाता है?
- 22. क्या कोई एंड्रॉइड ग्रेडल बिल्ड कार्य निर्भरता आरेख बनाता है?
- 23. क्या ES6 नाम फ़ंक्शन एक्सप्रेशन को अनावश्यक बनाता है?
- 24. जावास्क्रिप्ट फ़ंक्शन के भीतर "इसे वापस करें" क्या करता है?
- 25. रुबी का क्या उपयोग है?
- 26. फ़ंक्शन हैश से फिस हैश स्लाइस फ़ंक्शन
- 27. हैश मैप.containsValue - बिंदु क्या है?
- 28. हैश टेबल/हैश फ़ंक्शन का निर्माण
- 29. __kwdefaults__ का उपयोग क्या है जो फ़ंक्शन ऑब्जेक्ट विशेषता है?
- 30. सी ++ लैम्ब्डा फ़ंक्शन का डिफ़ॉल्ट कॉलिंग सम्मेलन क्या है?
समझ गया! धन्यवाद! –
@tommy_o कैसे प्राप्त होता है पार्टिशन (..) विधि कहा जाता है? इस विधि को क्या कहते हैं? इस विधि को कहां कॉल करें? –
@ बुरककारासोय जब आप एमआर जॉब गुणों को कॉन्फ़िगर करने के लिए जॉब ऑब्जेक्ट बनाते हैं, तो यह आपको उपरोक्त लेखक द्वारा निर्दिष्ट अनुसार कस्टमपार्टिशनर घोषित करने का एक तरीका प्रदान करेगा। नक्शा कार्य पूरा होने के बाद यह कस्टम विभाजनकर्ता आंतरिक रूप से एमआर ढांचे में आक्रमण करता है और डिस्क –