Hadoop के लिए अच्छा क्या है? (सर्वश्रेष्ठ उपयोग, विकल्प, और उपकरण)

आइए हमदोप परियोजना पर एक नज़र डालें – यह क्या है और इसका उपयोग कब आपकी परियोजना के लिए अनुकूल हो सकता है। Hadoop फेसबुक, लिंक्डइन, अलीबाबा, ईबे और अमेज़ॅन सहित कंपनियों की एक प्रभावशाली सूची द्वारा उपयोग में है.


संक्षेप में, Hadoop भारी मात्रा में डेटा पर MapReduce डेटा विश्लेषण के लिए महान है। इसके विशिष्ट उपयोग के मामलों में शामिल हैं: डेटा खोज, डेटा विश्लेषण, डेटा रिपोर्टिंग, फ़ाइलों की बड़े पैमाने पर अनुक्रमणिका (उदाहरण के लिए, लॉग फ़ाइलें या वेब क्रॉलर से डेटा), और अन्य डेटा प्रोसेसिंग कार्यों का उपयोग करते हुए जो विकास की दुनिया में “बिग डेटा” के रूप में जाना जाता है । “

इस लेख में, हम कवर करेंगे: Hadoop का उपयोग कब करें, कब Hadoop का उपयोग न करें, Hadoop मूल बातें (HDFS, MapReduce, और YARN), Hadoop से संबंधित टूल और Hadoop विकल्प.

एक बार जब हम उपरोक्त सभी विषयों पर जाते हैं, तो आपको आत्मविश्वास से प्रश्न का उत्तर देने में सक्षम होना चाहिए: क्या Hadoop के पास अपना व्यवसाय प्रस्तुत करने के लिए कुछ है?

Hadoop का उपयोग कब करें

HadoopHadoop कैसे काम करता है, इस पर चर्चा करने से पहले, कुछ परिदृश्यों पर विचार करें, जिसके दौरान Hadoop आपकी डेटा प्रोसेसिंग आवश्यकताओं का उत्तर हो सकता है। उसके बाद, हम उन स्थितियों को कवर करेंगे जब Hadoop का उपयोग नहीं करना है.

ध्यान रखें कि Hadoop अवसंरचना और जावा-आधारित MapReduce जॉब प्रोग्रामिंग को उचित सेटअप और रखरखाव के लिए तकनीकी विशेषज्ञता की आवश्यकता होती है। यदि ये कौशल स्वयं को किराए पर लेने या सेवा करने के लिए बहुत महंगा हैं, तो आप अपने बिग डेटा के लिए अन्य डेटा प्रोसेसिंग विकल्पों पर विचार कर सकते हैं। (Hadoop के विकल्पों पर जाएं!)

1. सच में बड़े डेटा के प्रसंस्करण के लिए:

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

2. डेटा के एक विविध सेट संग्रहीत करने के लिए:

Hadoop किसी भी फाइल डेटा को स्टोर और प्रोसेस कर सकता है: बड़ी या छोटी, चाहे वह प्लेन टेक्स्ट फाइल्स हो या इमेजेज जैसी बाइनरी फाइल्स, यहां तक ​​कि अलग-अलग टाइम पीरियड्स में कुछ खास डेटा फॉर्मेट के कई सारे वर्जन। आप किसी भी समय परिवर्तन कर सकते हैं कि आप अपने Hadoop डेटा को कैसे संसाधित और विश्लेषण करते हैं। यह लचीला दृष्टिकोण अभिनव विकास के लिए अनुमति देता है, जबकि अभी भी धीमी और / या जटिल पारंपरिक डेटा माइग्रेशन के बजाय डेटा की भारी मात्रा में प्रसंस्करण करता है। इस प्रकार के लचीले डेटा स्टोर के लिए उपयोग किया जाने वाला शब्द डेटा झीलों है.

3. समानांतर डाटा प्रोसेसिंग के लिए:

MapReduce एल्गोरिथ्म के लिए आवश्यक है कि आप अपनी डेटा प्रोसेसिंग को समानांतर कर सकें। MapReduce उन स्थितियों में बहुत अच्छी तरह से काम करता है जहां चर एक-एक करके संसाधित होते हैं (जैसे, गिनती या एकत्रीकरण); हालाँकि, जब आपको चर को संयुक्त रूप से संसाधित करने की आवश्यकता होती है (जैसे, चर के बीच कई सहसंबंध के साथ), यह मॉडल काम नहीं करता है.

किसी भी ग्राफ़-आधारित डेटा प्रोसेसिंग (जिसका अर्थ है कि अन्य डेटा के आधार पर डेटा का एक जटिल नेटवर्क) Hadoop की मानक कार्यप्रणाली के लिए एक अच्छा फिट नहीं है। कहा जा रहा है, संबंधित Apache Tez फ्रेमवर्क अधिक रेखीय MapReduce वर्कफ़्लो के बजाय YARN का उपयोग करते हुए डेटा को संसाधित करने के लिए ग्राफ़-आधारित दृष्टिकोण के उपयोग की अनुमति देता है.

जब Hadoop का उपयोग करने के लिए नहीं

अब कुछ उदाहरणों पर चलते हैं जहां हडोप का उपयोग करना उचित नहीं होगा.

1. वास्तविक समय डेटा विश्लेषण के लिए:

Hadoop बैच द्वारा काम करता है (एक बार में सब कुछ नहीं!), बड़े डेटा सेट पर लंबे समय तक चलने वाली नौकरियों को संसाधित करता है। कुछ तालिकाओं पर एक रिलेशनल डेटाबेस क्वेरी की तुलना में इन नौकरियों को संसाधित करने में अधिक समय लगेगा। एक Hadoop जॉब के लिए घंटों या दिनों का समय भी नहीं लगता है कि प्रोसेसिंग ख़त्म हो, ख़ासकर बड़े डेटा सेट के मामले में.

कैविएट: इस समस्या का एक संभावित समाधान एचडीएफएस में आपके डेटा को संग्रहीत करना और स्पार्क फ्रेमवर्क का उपयोग करना है। स्पार्क के साथ, प्रोसेसिंग को इन-मेमोरी डेटा का उपयोग करके वास्तविक समय में किया जा सकता है। यह 100x स्पीड-अप के लिए अनुमति देता है; हालाँकि, डिस्क मेमोरी का उपयोग करते समय 10x स्पीड-अप भी संभव है, इसके “मल्टी-स्टेज” MapReduce दृष्टिकोण के कारण.

2. एक रिलेशनल डेटाबेस सिस्टम के लिए:

धीमी प्रतिक्रिया समय के कारण, Hadoop का उपयोग रिलेशनल डेटाबेस के लिए नहीं किया जाना चाहिए.

कैविएट: इस मुद्दे का एक संभावित समाधान हाइव SQL इंजन का उपयोग करना है, जो डेटा सारांश प्रदान करता है और तदर्थ क्वेरी का समर्थन करता है। Hive, Hadoop डेटा पर कुछ संरचना को प्रोजेक्ट करने के लिए एक तंत्र प्रदान करता है और फिर HQQ नामक SQL जैसी भाषा का उपयोग करके डेटा को क्वेरी करता है.

3. एक सामान्य नेटवर्क फाइल सिस्टम के लिए:

धीमी प्रतिक्रिया समय भी Hadoop को एक संभावित सामान्य नेटवर्क फ़ाइल सिस्टम के रूप में निर्धारित करता है। अन्य फ़ाइल सिस्टम समस्याएँ भी हैं, क्योंकि HDFS में मानक POSIX फाइलस्टेस्टम फ़ीचर में से कई का अभाव है, जो एक सामान्य फ़ाइल सिस्टम से अपेक्षा करते हैं। हडोप डॉक्यूमेंटेशन के अनुसार, “HDFS एप्लिकेशन को फाइलों के लिए राइट-वन-रीड-कई एक्सेस मॉडल की आवश्यकता होती है। एक बार बनाई गई, लिखित और बंद की गई फ़ाइल को अपेंडिक्स और ट्रंकट्स को छोड़कर नहीं बदलना चाहिए। ” आप सामग्री को फ़ाइलों के अंत में जोड़ सकते हैं, लेकिन आप “मनमाने ढंग से” बिंदु पर अपडेट नहीं कर सकते.

4. गैर-समानांतर डेटा प्रोसेसिंग के लिए:

MapReduce हमेशा आपके डेटा प्रोसेसिंग आवश्यकताओं के लिए सबसे अच्छा एल्गोरिथ्म नहीं है। प्रत्येक MapReduce कार्रवाई अन्य सभी से स्वतंत्र होना चाहिए। यदि ऑपरेशन के लिए पहले से संसाधित नौकरियों (साझा राज्य) से बहुत सारी जानकारी जानने की आवश्यकता होती है, तो MapReduce प्रोग्रामिंग मॉडल सबसे अच्छा विकल्प नहीं हो सकता है.

Hadoop MadReduce Workflow का आरेख

Hadoop और इसके MapReduce प्रोग्रामिंग मॉडल को समानांतर में डेटा प्रोसेसिंग के लिए सबसे अच्छा उपयोग किया जाता है.

कैविएट: ये राज्य निर्भरता समस्याएं कभी-कभी आंशिक रूप से कई मैपरेड जॉब्स चलाकर सहायता प्राप्त कर सकती हैं, जिसमें से एक का आउटपुट अगले के लिए इनपुट होता है। यह कुछ ऐसा है जो अपाचे टीज़ फ्रेमवर्क Hadoop डेटा प्रोसेसिंग के लिए ग्राफ़-आधारित दृष्टिकोण का उपयोग करता है। विचार करने के लिए एक और विकल्प इस बड़ी तालिका प्रणाली में किसी भी साझा राज्य को संग्रहीत करने के लिए HBase का उपयोग कर रहा है। ये समाधान, हालांकि, Hadoop वर्कफ़्लो में जटिलता जोड़ते हैं.

Hadoop क्या है? – 3 कोर घटक

Hadoop में तीन मुख्य घटक होते हैं: एक वितरित फ़ाइल सिस्टम, एक समानांतर प्रोग्रामिंग फ्रेमवर्क, और एक संसाधन / नौकरी प्रबंधन प्रणाली। लिनक्स और विंडोज Hadoop के लिए समर्थित ऑपरेटिंग सिस्टम हैं, लेकिन BSD, Mac OS / X और OpenSolaris को अच्छी तरह से काम करने के लिए जाना जाता है।.

1. Hadoop वितरित फ़ाइल सिस्टम (HDFS)

Hadoop एक ओपन-सोर्स, HDFS नामक क्लस्टर फाइल सिस्टम का जावा-आधारित कार्यान्वयन है, जो आपको लागत-कुशल, विश्वसनीय और स्केलेबल वितरित कंप्यूटिंग करने की अनुमति देता है। एचडीएफएस वास्तुकला अत्यधिक दोष-सहिष्णु है और इसे कम लागत वाले हार्डवेयर पर तैनात किया गया है.

संबंधपरक डेटाबेस के विपरीत, Hadoop क्लस्टर आपको किसी भी फ़ाइल डेटा को संग्रहीत करने की अनुमति देता है और फिर बाद में यह निर्धारित करता है कि आप पहले सुधारित डेटा के बिना इसे कैसे उपयोग करना चाहते हैं। डेटा की एकाधिक प्रतियाँ क्लस्टर में स्वचालित रूप से दोहराई जाती हैं। प्रतिकृति की मात्रा प्रति फ़ाइल कॉन्फ़िगर की जा सकती है और इसे किसी भी बिंदु पर बदला जा सकता है.

2. Hadoop MapReduce

Hadoop एक MapReduce प्रोग्रामिंग मॉडल का उपयोग करके कंप्यूटर के समूहों में बड़े डेटा सेट के भंडारण और वितरित प्रसंस्करण पर केंद्रित है: Hadoop MapReduce.

MapReduce के साथ, इनपुट फ़ाइल सेट छोटे टुकड़ों में टूट जाता है, जो एक दूसरे से स्वतंत्र रूप से संसाधित होते हैं (“मैप” भाग)। इन स्वतंत्र प्रक्रियाओं के परिणामों को तब तक एकत्र किया जाता है और समूह (“कम” भाग) के रूप में संसाधित किया जाता है जब तक कि कार्य पूरा नहीं हो जाता है। यदि कोई व्यक्तिगत फ़ाइल इतनी बड़ी है कि यह समय प्रदर्शन को प्रभावित करेगी, तो इसे कई “Hadoop विभाजन” में तोड़ा जा सकता है।

मेप्रेड्यूस हैडोप आरेख

Hadoop पारिस्थितिकी तंत्र बड़े डेटा सेटों को संग्रहीत और संसाधित करने के लिए MapReduce प्रोग्रामिंग मॉडल का उपयोग करता है.

यहाँ एक नमूना WordCount MapReduce प्रोग्राम हैडो के लिए लिखा गया है.

3. Hadoop YARN

Hadoop YARN फ्रेमवर्क एक व्यक्ति को शेड्यूलिंग और क्लस्टर संसाधन प्रबंधन करने की अनुमति देता है, जिसका अर्थ है कि उपयोगकर्ता Hadoop REST API के माध्यम से एप्लिकेशन सबमिट और मार सकते हैं। आपके Hadoop क्लस्टर की निगरानी के लिए वेब UI भी हैं। Hadoop में, JavaRAR फ़ाइलों और MapReduce प्रोग्राम को चलाने के लिए आवश्यक सभी कक्षाओं के संयोजन को नौकरी कहा जाता है। आप कमांड लाइन से या HTTP द्वारा उन्हें REST API में पोस्ट करके जॉबट्रेकर को जॉब सबमिट कर सकते हैं। इन नौकरियों में “कार्य” होते हैं जो व्यक्तिगत नक्शे को निष्पादित करते हैं और चरणों को कम करते हैं। इन कार्यों को लिखते समय गैर-जावा कोड को शामिल करने के भी तरीके हैं। यदि किसी कारण से एक Hadoop क्लस्टर नोड नीचे चला जाता है, तो प्रभावित प्रसंस्करण कार्य स्वचालित रूप से अन्य क्लस्टर नोड्स में चले जाते हैं.

Hadoop Tools

नीचे आपको अपाचे नींव द्वारा होस्ट किए गए Hadoop से संबंधित परियोजनाओं की एक सूची मिलेगी:

Ambari: अपाचे Hadoop समूहों के प्रावधान, प्रबंधन और निगरानी के लिए एक वेब-आधारित उपकरण, Ambari में Hadoop HDFS, Hadoop MapReduce, Hive, HCatalog, HBase, ZooKeeper, Oozie, Pig, और Sqoop के लिए समर्थन शामिल है। अंबरी क्लस्टर स्वास्थ्य कारकों को देखने के लिए एक डैशबोर्ड भी उपलब्ध कराता है, जिसमें हीटमैप्स और मैपराइड, पिग और हाइव एप्लिकेशन को नेत्रहीन रूप से देखने की क्षमता है, साथ ही उपयोगकर्ता के अनुकूल तरीके से प्रदर्शन विशेषताओं का निदान करने की विशेषताएं भी हैं।.

एवरो: एवरो एक डेटा क्रमांकन प्रणाली है.

कैसेंड्रा: कैसेंड्रा एक स्केलेबल मल्टी-मास्टर डेटाबेस है जिसमें विफलता के एक भी बिंदु नहीं हैं.

Chukwa: एक डेटा संग्रह प्रणाली, चुक्वा का उपयोग बड़ी वितरित प्रणालियों के प्रबंधन के लिए किया जाता है.

HBase: एक स्केलेबल, वितरित डेटाबेस, HBase बड़ी तालिकाओं के लिए संरचित डेटा भंडारण का समर्थन करता है.

मधुमुखी का छत्ता: हाइव एक डेटा वेयरहाउस इन्फ्रास्ट्रक्चर है जो डेटा सारांश और तदर्थ क्वेरी प्रदान करता है.

महावत: महावत एक स्केलेबल मशीन लर्निंग और डेटा माइनिंग लाइब्रेरी है.

सूअर: यह समानांतर गणना के लिए एक उच्च-स्तरीय डेटा प्रवाह भाषा और निष्पादन रूपरेखा है.

स्पार्क: Hadoop डेटा के लिए एक तेज़ और सामान्य कम्प्यूट इंजन, स्पार्क एक सरल और अर्थपूर्ण प्रोग्रामिंग मॉडल प्रदान करता है जो कि ईटीएल, मशीन लर्निंग, स्ट्रीम प्रोसेसिंग और ग्राफ कम्प्यूटेशन सहित अनुप्रयोगों की एक विस्तृत श्रृंखला का समर्थन करता है।.

तेज़: Tez Hadoop YARN पर निर्मित एक सामान्यीकृत डेटा फ्लो प्रोग्रामिंग फ्रेमवर्क है जो बैच और इंटरैक्टिव उपयोग-मामलों दोनों के लिए डेटा को संसाधित करने के लिए कार्यों के एक मनमाने ढंग से DAG को निष्पादित करने के लिए एक शक्तिशाली और लचीला इंजन प्रदान करता है। Hadoop इकोसिस्टम में Hive, Pig और अन्य फ्रेमवर्क द्वारा Tez को अपनाया जा रहा है, और अन्य वाणिज्यिक सॉफ़्टवेयर (जैसे, ETL टूल्स) द्वारा भी, Hadoop MapReduce को बदलने के लिए अंतर्निहित निष्पादन इंजन के रूप में प्रतिस्थापित किया जाता है।.

चिड़ियाघर संचालक: यह वितरित अनुप्रयोगों के लिए एक उच्च प्रदर्शन समन्वय सेवा है.

Hadoop के विकल्प

Hadoop के सर्वोत्तम विकल्पों के लिए, आप निम्नलिखित में से किसी एक को आज़मा सकते हैं:

अपाचे तूफान: यह क्लोजर भाषा में लिखा गया वास्तविक समय के प्रसंस्करण का हडोप है.

BigQuery: बड़े पैमाने के एनालिटिक्स के लिए Google का पूरी तरह से प्रबंधित, कम लागत वाला प्लेटफॉर्म, BigQuery आपको SQL के साथ काम करने की अनुमति देता है और बुनियादी ढांचे या डेटाबेस के प्रबंधन के बारे में चिंता नहीं करता है.

अपाचे मेसोस: मेसो एब्सट्रैक्ट सीपीयू, मेमोरी, स्टोरेज, और मशीनों (भौतिक या आभासी) से दूर अन्य कंप्यूटर्स रिसोर्सेज, फॉल्ट-टॉलरेंट और इलास्टिक वितरित सिस्टम को आसानी से बनाने और प्रभावी ढंग से चलाने में सक्षम बनाता है।.

अपाचे झपकी: फ्लिंक वितरित स्ट्रीम और बैच डेटा प्रोसेसिंग के लिए एक प्लेटफ़ॉर्म है जिसे Hadoop के साथ उपयोग किया जा सकता है.

मोटे चमड़े का जनवार: Pachyderm क्लस्टर को लागू करने के लिए Docker कंटेनरों का उपयोग करके Hadoop की जटिलता के बिना MapReduce की शक्ति प्रदान करने का दावा करता है.

समीक्षा में Hadoop ट्यूटोरियल

Hadoop हाथी एक ट्यूटोरियल देता हैHadoop बिग डेटा तकनीक का एक मजबूत और शक्तिशाली टुकड़ा है (इसमें कुछ हद तक आश्चर्यजनक और तेजी से विकसित होने वाले उपकरण भी शामिल हैं); हालाँकि, अपनी ताकत और कमजोरियों पर विचार करने से पहले यह तय करें कि इसका उपयोग आप अपने डेटासेंटर में करें या नहीं। आपकी विशिष्ट डेटा प्रोसेसिंग आवश्यकताओं को पूरा करने के लिए बेहतर, सरल या सस्ता समाधान उपलब्ध हो सकता है.

यदि आप Hadoop के बारे में अधिक जानना चाहते हैं, तो इसके दस्तावेज़ीकरण और Hadoop विकि को देखें.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me