इस MapReduce ट्यूटोरियल में, हम Hadoop में MapReduce InputSplit बनाम Blocks के बीच तुलना पर चर्चा करेंगे। . सबसे पहले, हम देखेंगे कि Hadoop InputSplit के आगे HDFS डेटा ब्लॉक क्या है।
फिर हम इनपुटस्प्लिट बनाम ब्लॉक के बीच फीचर वार अंतर देखेंगे। अंत में, हम HDFS में Hadoop InputSplit और Data Blocks के उदाहरण पर भी चर्चा करेंगे।
Hadoop में InputSplit और Blocks का परिचय
आइए पहले चर्चा करें कि एचडीएफएस डेटा ब्लॉक क्या है और हडूप इनपुटस्प्लिट क्या है।
<एच4>1. एचडीएफएस में ब्लॉक क्या है?हडूप एचडीएफएस बड़ी फ़ाइलों को छोटे टुकड़ों में विभाजित करें जिन्हें ब्लॉक के रूप में जाना जाता है। इसमें न्यूनतम मात्रा में डेटा होता है जिसे पढ़ा या लिखा जा सकता है। HDFS प्रत्येक फ़ाइल को ब्लॉक के रूप में संग्रहीत करता है।
Hadoop एप्लिकेशन डेटा ब्लॉक को कई नोड्स में वितरित करता है। एचडीएफएस क्लाइंट का ब्लॉक लोकेशन जैसे ब्लॉक पर कोई नियंत्रण नहीं है, नामेनोड ऐसी सभी चीजों को तय करता है।
<एच4>2. Hadoop में InputSplit क्या है?यह उस डेटा का प्रतिनिधित्व करता है जिसे व्यक्तिगत मैपर प्रक्रियाएं। इस प्रकार मानचित्र कार्यों की संख्या इनपुटस्प्लिट्स की संख्या के बराबर होती है। फ्रेमवर्क विभाजन को रिकॉर्ड में विभाजित करता है, जिसे मैपर प्रोसेस करता है।
प्रारंभ में इनपुट फ़ाइलें MapReduce कार्य के लिए डेटा संग्रहीत करती हैं। इनपुट फ़ाइल आमतौर पर HDFS InputFormat में रहती है इनपुट फ़ाइलों को विभाजित करने और पढ़ने का तरीका बताता है। InputFormat InputSplit बनाने के लिए जिम्मेदार है।
Hadoop में InputSplit बनाम Blocks के बीच तुलना
आइए अब Hadoop फ्रेमवर्क में InputSplit बनाम Blocks के बीच फीचर वार अंतर पर चर्चा करें।
<एच4>1. डेटा प्रतिनिधित्व- ब्लॉक करें – HDFS ब्लॉक Hadoop में डेटा का भौतिक प्रतिनिधित्व है।
- इनपुट स्प्लिट - MapReduce InputSplit Hadoop में ब्लॉक में मौजूद डेटा का तार्किक प्रतिनिधित्व है। यह मूल रूप से MapReduce प्रोग्राम या अन्य प्रोसेसिंग तकनीकों में डेटा प्रोसेसिंग के दौरान उपयोग किया जाता है। ध्यान देने वाली मुख्य बात यह है कि इनपुटस्प्लिट में वास्तविक डेटा नहीं होता है; यह केवल डेटा का संदर्भ है।
- ब्लॉक करें – डिफ़ॉल्ट रूप से, HDFS ब्लॉक आकार 128MB . है जिसे आप अपनी आवश्यकता के अनुसार बदल सकते हैं। अंतिम ब्लॉक को छोड़कर सभी HDFS ब्लॉक समान आकार के होते हैं, जो या तो समान आकार या छोटे हो सकते हैं। Hadoop फ्रेमवर्क फ़ाइलों को 128 MB ब्लॉक में तोड़ता है और फिर Hadoop फ़ाइल सिस्टम में संग्रहीत करता है।
- इनपुट स्प्लिट - डिफ़ॉल्ट रूप से इनपुटस्प्लिट आकार लगभग ब्लॉक आकार के बराबर होता है। यह उपयोगकर्ता परिभाषित है। MapReduce प्रोग्राम में उपयोगकर्ता डेटा के आकार के आधार पर विभाजित आकार को नियंत्रित कर सकता है।
मान लीजिए हमें फाइल को एचडीएफएस में स्टोर करने की जरूरत है। Hadoop HDFS फाइलों को ब्लॉक के रूप में स्टोर करता है। ब्लॉक डेटा की सबसे छोटी इकाई है जिसे डिस्क से संग्रहीत या पुनर्प्राप्त किया जा सकता है।
ब्लॉक का डिफ़ॉल्ट आकार 128MB है। Hadoop HDFS फाइलों को ब्लॉक में तोड़ता है। फिर यह इन ब्लॉक्स को क्लस्टर में अलग-अलग नोड्स पर स्टोर करता है।
उदाहरण के लिए, हमारे पास 132 एमबी की फाइल है। तो एचडीएफएस इस फाइल को 2 ब्लॉक में तोड़ देगा।
अब, यदि हम ब्लॉकों पर MapReduce ऑपरेशन करना चाहते हैं, तो यह संसाधित नहीं होगा। कारण यह है कि 2 ब्लॉक अधूरा है। तो, InpuSplit इस समस्या को हल करता है।
MapReduce InputSplit एकल ब्लॉक के रूप में ब्लॉकों का तार्किक समूह बनाएगा। चूंकि इनपुटस्प्लिट में अगले ब्लॉक के लिए एक स्थान और ब्लॉक को पूरा करने के लिए आवश्यक डेटा की बाइट ऑफसेट शामिल है।
निष्कर्ष
इसलिए, इनपुटस्प्लिट डेटा का केवल एक तार्किक हिस्सा है यानी इसमें केवल ब्लॉक पते या स्थान के बारे में जानकारी है। जबकि ब्लॉक डेटा का भौतिक प्रतिनिधित्व है।
अब मुझे यकीन है कि, आपको इस ब्लॉग को पढ़ने के बाद इनपुटस्प्लिट और एचडीएफएस डेटा ब्लॉक के बारे में स्पष्ट समझ है। यदि आपको इनपुटस्प्लिट बनाम ब्लॉक में कोई अन्य अंतर मिलता है, तो हमें कमेंट सेक्शन में बताएं।