स्पार्क बनाम हाडोप: बेस्ट बिग डेटा फ्रेमवर्क कौन सा है?



यह ब्लॉग पोस्ट अपाचे स्पार्क बनाम हडूप के बारे में बोलती है। यह आपको एक विचार देगा कि विभिन्न परिदृश्यों में चुनने के लिए सही बिग डेटा फ्रेमवर्क कौन सा है।

मैं इस अपाचे स्पार्क बनाम Hadoop ब्लॉग को सबसे पहले Hadoop और Spark के रूप में शुरू करके दोनों रूपरेखाओं के लिए सही संदर्भ सेट करूँगा। फिर, आगे बढ़ते हुए हम अपनी ताकत और कमजोरियों का विश्लेषण करने के लिए विभिन्न मापदंडों पर दोनों बिग डेटा फ्रेमवर्क की तुलना करेंगे।लेकिन, हमारी तुलना का परिणाम जो भी हो, आपको पता होना चाहिए कि स्पार्क और हडोप दोनों ही इसके महत्वपूर्ण घटक हैं

अपाचे स्पार्क बनाम हडोप: हडोप का परिचय

Hadoop एक ढांचा है जो आपको बिग डेटा को पहले वितरित वातावरण में संग्रहीत करने की अनुमति देता है ताकि आप इसे समान रूप से संसाधित कर सकें। Hadoop में मूल रूप से दो घटक हैं:





HDFS

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

NameNode

यह मास्टर डेमन है जो DataNodes (दास नोड्स) का रखरखाव और प्रबंधन करता है। यह क्लस्टर में संग्रहीत सभी फाइलों के मेटाडेटा को रिकॉर्ड करता है, उदा। संग्रहीत फ़ाइलों का स्थान, फ़ाइलों का आकार, अनुमतियाँ, पदानुक्रम, आदि। यह फ़ाइल सिस्टम मेटाडेटा में होने वाले प्रत्येक परिवर्तन को रिकॉर्ड करता है।



उदाहरण के लिए, यदि एचडीएफएस में कोई फ़ाइल हटा दी जाती है, तो NameNode इसे तुरंत EditLog में रिकॉर्ड करेगा। यह नियमित रूप से हार्टबीट प्राप्त करता है और क्लस्टर में सभी DataNodes से एक ब्लॉक रिपोर्ट प्राप्त करता है ताकि यह सुनिश्चित किया जा सके कि DataNodes लाइव हैं। यह एचडीएफएस में सभी ब्लॉकों का रिकॉर्ड रखता है और जिन नोड्स में ये ब्लॉक संग्रहीत हैं।

DataNode

ये दास दास हैं जो प्रत्येक दास मशीन पर चलते हैं। वास्तविक डेटा DataNodes पर संग्रहीत है। वे ग्राहकों से अनुरोध पढ़ने और लिखने के लिए जिम्मेदार हैं। वे ब्लॉक बनाने, ब्लॉक हटाने और NameNode द्वारा लिए गए निर्णयों के आधार पर उसी की प्रतिकृति बनाने के लिए भी जिम्मेदार हैं।

एचडीएफएस - अपाचे स्पार्क बनाम हडोप - एडुरकायार

YARN संसाधनों और शेड्यूलिंग कार्यों को आवंटित करके आपकी सभी प्रसंस्करण गतिविधियाँ करता है। इसके दो प्रमुख डेमॉन हैं, अर्थात् संसाधन प्रबंधक तथा NodeManager



संसाधन प्रबंधक

यह एक क्लस्टर स्तर (प्रत्येक क्लस्टर के लिए एक) घटक है और मास्टर मशीन पर चलता है। यह YARN के शीर्ष पर चल रहे संसाधनों और अनुसूची अनुप्रयोगों का प्रबंधन करता है।

NodeManager

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

Hadoop के बारे में अधिक जानने के लिए, आप इसके माध्यम से जा सकते हैं ब्लॉग। अब, हम सभी Hadoop परिचय के साथ सेट हैं, स्पार्क परिचय पर चलते हैं।

अपाचे स्पार्क बनाम हडोप: अपाचे स्पार्क का परिचय

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

रेसिलिएंट डिस्ट्रिब्यूटेड डेटसेट (आरडीडी) स्पार्क की एक मूलभूत डेटा संरचना है। यह वस्तुओं का एक अपरिवर्तित वितरित संग्रह है। RDD में प्रत्येक डेटासेट को तार्किक विभाजन में विभाजित किया गया है, जिसे क्लस्टर के विभिन्न नोड्स पर गणना की जा सकती है। RDD में उपयोगकर्ता-परिभाषित कक्षाओं सहित किसी भी प्रकार के पायथन, जावा या स्काला ऑब्जेक्ट शामिल हो सकते हैं। स्पार्क घटक इसे तेज और विश्वसनीय बनाते हैं। अपाचे स्पार्क में निम्नलिखित घटक हैं:

  1. स्पार्क कोर - स्पार्क कोर बड़े पैमाने पर समानांतर और वितरित डेटा प्रसंस्करण के लिए आधार इंजन है। इसके अलावा, अतिरिक्त पुस्तकालय जो कोर के ऊपर बनाए गए हैं, स्ट्रीमिंग, एसक्यूएल और मशीन लर्निंग के लिए विविध कार्यभार की अनुमति देते हैं। यह एक क्लस्टर पर मेमोरी मैनेजमेंट और फॉल्ट रिकवरी, शेड्यूलिंग, डिस्ट्रीब्यूशन और मॉनिटरिंग जॉब्स और स्टोरेज सिस्टम के साथ इंटरेक्ट करने के लिए जिम्मेदार है
  2. स्पार्क स्ट्रीमिंग - स्पार्क स्ट्रीमिंग स्पार्क का घटक है जिसका उपयोग वास्तविक समय के स्ट्रीमिंग डेटा को संसाधित करने के लिए किया जाता है। इस प्रकार, यह कोर स्पार्क एपीआई के लिए एक उपयोगी अतिरिक्त है। यह लाइव डेटा स्ट्रीम के उच्च-थ्रूपुट और दोष-सहिष्णु स्ट्रीम प्रोसेसिंग को सक्षम करता है
  3. स्पार्क एसक्यूएल : स्पार्क एसक्यूएल स्पार्क में एक नया मॉड्यूल है जो स्पार्क के कार्यात्मक प्रोग्रामिंग एपीआई के साथ संबंधपरक प्रसंस्करण को एकीकृत करता है। यह SQL या Hive क्वेरी भाषा के माध्यम से डेटा को क्वेरी करने का समर्थन करता है। RDBMS से परिचित लोगों के लिए, स्पार्क एसक्यूएल आपके पुराने उपकरणों से एक आसान संक्रमण होगा जहां आप पारंपरिक संबंधपरक डेटा प्रोसेसिंग की सीमाओं का विस्तार कर सकते हैं।
  4. रेखांकन : रेखांकन ग्राफ और ग्राफ-समानांतर गणना के लिए स्पार्क एपीआई है। इस प्रकार, यह स्पार्क आरडीडी को एक लचीली वितरित संपत्ति ग्राफ के साथ विस्तारित करता है। उच्च-स्तर पर, ग्राफएक्स ने रेसिलिएंट डिस्ट्रिब्यूटेड प्रॉपर्टी ग्राफ को शुरू करके स्पार्क आरडीडी एब्स्ट्रैक्शन का विस्तार किया: प्रत्येक वर्टेक्स और किनारे से जुड़े गुणों के साथ एक निर्देशित मल्टीग्राफ।
  5. MLlib (मशीन लर्निंग): एमएललिब का मतलब मशीन लर्निंग लाइब्रेरी है। स्पार्क एमएललिब का उपयोग अपाचे स्पार्क में मशीन सीखने के लिए किया जाता है।

जैसा कि आप देख सकते हैं, स्पार्क उच्च-स्तरीय पुस्तकालयों के साथ पैक किया जाता है, जिसमें आर, एसक्यूएल, पायथन, स्काला, जावा आदि के लिए समर्थन शामिल है। ये मानक पुस्तकालय जटिल वर्कफ़्लो में निर्बाध एकीकरण को बढ़ाते हैं। इसके ऊपर, यह अपनी क्षमताओं को बढ़ाने के लिए MLLib, GraphX, SQL + डेटा फ्रेम्स, स्ट्रीमिंग सेवाओं आदि जैसे सेवाओं के विभिन्न सेटों को भी इसके साथ एकीकृत करने की अनुमति देता है।

अपाचे स्पार्क के बारे में अधिक जानने के लिए, आप इसके माध्यम से जा सकते हैं ब्लॉग। अब मैदान अपाचे स्पार्क बनाम हडोप के लिए तैयार है। चलिए आगे बढ़ते हैं और अपनी खूबियों को समझने के लिए अपाडो स्पार्क की तुलना हडोप से विभिन्न मापदंडों पर करते हैं।

अपाचे स्पार्क बनाम हैडोप: तुलना करने के लिए पैरामीटर

प्रदर्शन

स्पार्क तेज़ है क्योंकि इसमें इन-मेमोरी प्रोसेसिंग है। यह उन डेटा के लिए भी डिस्क का उपयोग कर सकता है जो सभी मेमोरी में फिट नहीं होते हैं। स्पार्क की इन-मेमोरी प्रोसेसिंग रियल-टाइम एनालिटिक्स के पास पहुंचती है। यह स्पार्क को क्रेडिट कार्ड प्रोसेसिंग सिस्टम, मशीन लर्निंग, सिक्योरिटी एनालिटिक्स और इंटरनेट ऑफ थिंग्स सेंसर के लिए उपयुक्त बनाता है।

Hadoop मूल रूप से डेटा के प्रकार के बारे में चिंता किए बिना कई स्रोतों से डेटा इकट्ठा करने और इसे वितरित वातावरण में संग्रहीत करने के लिए मूल रूप से सेटअप था। MapReduce बैच प्रोसेसिंग का उपयोग करता है। MapReduce को वास्तविक समय प्रसंस्करण के लिए नहीं बनाया गया था, YARN के पीछे मुख्य विचार वितरित डेटासेट पर समानांतर प्रसंस्करण है।

कैसे सरणी जावास्क्रिप्ट की लंबाई पाने के लिए

दोनों की तुलना करने में समस्या यह है कि वे अलग तरह से प्रसंस्करण करते हैं।

उपयोग में आसानी

स्पार्क स्कैला, जावा, पायथन और स्पार्क एसक्यूएल के लिए उपयोगकर्ता के अनुकूल एपीआई के साथ आता है। स्पार्क एसक्यूएल एसक्यूएल के समान है, इसलिए एसक्यूएल डेवलपर्स के लिए इसे सीखना आसान हो जाता है। स्पार्क डेवलपर्स को अन्य क्रियाओं को क्वेरी और प्रदर्शन करने के लिए एक इंटरैक्टिव शेल प्रदान करता है, और तत्काल प्रतिक्रिया देता है।

आप आसानी से या तो शेल का उपयोग करके या Sqoop, Flume आदि जैसे कई उपकरणों के साथ एकीकृत करके Hadoop में डेटा निगलना कर सकते हैं। YARN सिर्फ एक प्रोसेसिंग फ्रेमवर्क है और इसे Hive और Pig जैसे कई टूल्स के साथ एकीकृत किया जा सकता है। HIVE एक डेटा वेयरहाउसिंग घटक है जो SQL-तरह के इंटरफ़ेस का उपयोग करके वितरित वातावरण में बड़े डेटा सेट को पढ़ना, लिखना और प्रबंधित करना करता है। आप इससे गुजर सकते हैं Hadoop पारिस्थितिकी तंत्र Hadoop के साथ एकीकृत किए जा सकने वाले विभिन्न उपकरणों के बारे में जानने के लिए ब्लॉग।

लागत

हडोप और स्पार्क दोनों अपाचे ओपन सोर्स प्रोजेक्ट हैं, इसलिए सॉफ्टवेयर की कोई कीमत नहीं है। लागत केवल बुनियादी ढांचे से जुड़ी है। दोनों उत्पादों को इस तरह से डिज़ाइन किया गया है कि यह कम TCO के साथ कमोडिटी हार्डवेयर पर चल सके।

अब आप सोच रहे होंगे कि आखिर ये किस तरीके से अलग हैं। Hadoop में स्टोरेज और प्रोसेसिंग डिस्क-आधारित है और Hadoop मानक मात्रा में मेमोरी का उपयोग करता है। तो, Hadoop के साथ हमें बहुत सारे डिस्क स्थान के साथ-साथ तेज डिस्क की भी आवश्यकता है। Hadoop को भी डिस्क I / O वितरित करने के लिए कई प्रणालियों की आवश्यकता होती है।

अपाचे स्पार्क की मेमोरी प्रोसेसिंग के कारण इसे बहुत अधिक मेमोरी की आवश्यकता होती है, लेकिन यह मानक गति और डिस्क की मात्रा से निपट सकता है। चूंकि डिस्क स्थान एक अपेक्षाकृत सस्ती वस्तु है और चूंकि स्पार्क प्रसंस्करण के लिए डिस्क I / O का उपयोग नहीं करता है, इसके बजाय स्मृति में सब कुछ निष्पादित करने के लिए बड़ी मात्रा में RAM की आवश्यकता होती है। इस प्रकार, स्पार्क प्रणाली अधिक लागत लगाती है।

लेकिन हां, एक महत्वपूर्ण बात यह है कि स्पार्क की तकनीक आवश्यक प्रणालियों की संख्या को कम कर देती है। इसमें काफी कम प्रणालियों की आवश्यकता होती है जिनकी लागत अधिक होती है। तो, एक बिंदु होगा जिस पर स्पार्क अतिरिक्त रैम आवश्यकता के साथ भी प्रति यूनिट की लागत को कम करता है।

डाटा प्रासेसिंग

डेटा प्रोसेसिंग दो प्रकार की होती है: बैच प्रोसेसिंग और स्ट्रीम प्रोसेसिंग।

बैच प्रोसेसिंग बनाम स्ट्रीम प्रोसेसिंग

बैच प्रसंस्करण : बैच प्रोसेसिंग बड़ी डेटा दुनिया के लिए महत्वपूर्ण रही है। सरलतम अवधि में, बैच प्रोसेसिंग एक अवधि में एकत्र किए गए उच्च डेटा वॉल्यूम के साथ काम कर रही है। बैच प्रोसेसिंग में डेटा पहले एकत्र किया जाता है और फिर बाद में स्टेज पर संसाधित परिणाम तैयार किए जाते हैं।

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

स्ट्रीम प्रसंस्करण : स्ट्रीम प्रोसेसिंग बड़े डेटा की दुनिया में वर्तमान प्रवृत्ति है। समय की आवश्यकता गति और वास्तविक समय की जानकारी है, जो भाप प्रसंस्करण करती है। बैच प्रसंस्करण व्यवसायों को वास्तविक समय में व्यवसाय की जरूरतों को बदलने के लिए जल्दी से प्रतिक्रिया करने की अनुमति नहीं देता है, स्ट्रीम प्रसंस्करण ने मांग में तेजी से वृद्धि देखी है।

अब Apache Spark vs Hadoop में वापस आ रहा है, YARN मूल रूप से एक बैच-प्रोसेसिंग फ्रेमवर्क है। जब हम YARN को नौकरी देते हैं, तो यह क्लस्टर से डेटा पढ़ता है, ऑपरेशन करता है और परिणाम वापस क्लस्टर में लिखता है। फिर यह फिर से अपडेट किए गए डेटा को पढ़ता है, अगला ऑपरेशन करता है और परिणाम वापस क्लस्टर और इतने पर लिखता है।

स्पार्क समान संचालन करता है, लेकिन यह इन-मेमोरी प्रोसेसिंग का उपयोग करता है और चरणों का अनुकूलन करता है। ग्राफएक्स उपयोगकर्ताओं को ग्राफ और संग्रह के समान डेटा को देखने की अनुमति देता है। उपयोगकर्ता रिज़िलिएंट डिस्ट्रीब्यूटेड डेटासेट्स (RDDs) के साथ ग्राफ़ को बदल और जोड़ सकते हैं।

दोष सहिष्णुता

Hadoop और Spark दोनों ही दोष सहिष्णुता प्रदान करते हैं, लेकिन दोनों का दृष्टिकोण अलग है। HDFS और YARN दोनों के लिए, मास्टर डेमोंन्स (यानी NameNode & ResourceManager क्रमशः) दास डेमोंस के दिल की धड़कन (यानी क्रमशः DataNode & NodeManager) की जाँच करता है। यदि कोई दास दास विफल हो जाता है, तो मास्टर डेमोंस सभी लंबित और इन-प्रोग्रेस ऑपरेशंस को दूसरे गुलाम के पास भेज देता है। यह विधि प्रभावी है, लेकिन यह एकल विफलता के साथ संचालन के लिए पूरा होने के समय को काफी बढ़ा सकती है। जैसा कि Hadoop कमोडिटी हार्डवेयर का उपयोग करता है, एक अन्य तरीका जिसमें HDFS सुनिश्चित करता है कि डेटा की प्रतिकृति के द्वारा दोष सहिष्णुता है।

जैसा कि हमने ऊपर चर्चा की, RDD अपाचे स्पार्क के ब्लॉक का निर्माण कर रहे हैं। RDD, स्पार्क को गलत सहिष्णुता प्रदान करते हैं। वे HDFS, HBase, साझा फाइल सिस्टम जैसे बाह्य भंडारण प्रणाली में मौजूद किसी भी डेटासेट का उल्लेख कर सकते हैं। उन्हें समानांतर रूप से संचालित किया जा सकता है।

RDD पूरे ऑपरेशन में मेमोरी में एक डेटासेट बना रह सकता है, जो भविष्य की क्रियाओं को 10 गुना तेज बनाता है। यदि कोई RDD खो जाता है, तो मूल परिवर्तनों का उपयोग करके इसे स्वचालित रूप से पुन: प्रतिष्ठित किया जाएगा। यह स्पार्क दोष-सहिष्णुता प्रदान करता है।

सुरक्षा

Hadoop प्रमाणीकरण के लिए Kerberos का समर्थन करता है, लेकिन इसे संभालना मुश्किल है। फिर भी, यह प्रमाणीकरण के लिए LDAP (लाइटवेट डायरेक्ट्री एक्सेस प्रोटोकॉल) जैसे तीसरे पक्ष के विक्रेताओं का भी समर्थन करता है। वे एन्क्रिप्शन भी प्रदान करते हैं। HDFS पारंपरिक फ़ाइल अनुमतियों, साथ ही अभिगम नियंत्रण सूचियों (ACL) का समर्थन करता है। Hadoop सेवा स्तर प्राधिकरण प्रदान करता है, जो गारंटी देता है कि ग्राहकों को नौकरी प्रस्तुत करने के लिए सही अनुमति है।

स्पार्क वर्तमान में एक साझा रहस्य के माध्यम से प्रमाणीकरण का समर्थन करता है। स्पार्क एचडीएफएस के साथ एकीकृत कर सकता है और यह एचडीएफएस एसीएल और फ़ाइल-स्तरीय अनुमतियों का उपयोग कर सकता है। स्पार्क भी केबरोस की क्षमता का लाभ उठाते हुए YARN पर चल सकता है।

उपयोग के मामले जहां हडोप सबसे अच्छी तरह फिट बैठता है:

  • पुरालेख डेटा का विश्लेषण। YARN भारी मात्रा में डेटा के समानांतर प्रसंस्करण की अनुमति देता है। डेटा के हिस्सों को समानांतर रूप से और अलग-अलग DataNodes पर संसाधित किया जाता है और प्रत्येक NodeManager से परिणाम एकत्रित करता है।
  • यदि तत्काल परिणाम की आवश्यकता नहीं है। Hadoop MapReduce बैच प्रोसेसिंग के लिए एक अच्छा और किफायती उपाय है।

उपयोग के मामले जहां स्पार्क सबसे अच्छा फिट बैठता है:

वास्तविक समय बड़ा डेटा विश्लेषण:

रीयल-टाइम डेटा विश्लेषण का अर्थ है, लाखों डेटा प्रति सेकंड, ट्विटर डेटा पर आने वाली वास्तविक समय की घटना धाराओं द्वारा उत्पन्न डेटा का प्रसंस्करण। स्पार्क की ताकत वितरित प्रसंस्करण के साथ डेटा की स्ट्रीमिंग का समर्थन करने की अपनी क्षमताओं में निहित है। यह एक उपयोगी संयोजन है जो डेटा के वास्तविक समय प्रसंस्करण के पास वितरित करता है। MapReduce इस तरह के एक लाभ का विकलांग है क्योंकि इसे बड़ी मात्रा में डेटा पर बैच सह वितरित प्रसंस्करण करने के लिए डिज़ाइन किया गया था। रियल-टाइम डेटा अभी भी MapReduce पर संसाधित किया जा सकता है, लेकिन इसकी गति स्पार्क के करीब नहीं है।

सी ++ प्रोग्राम में एक सरणी छँटाई

स्पार्क मेप्रेड्यूस की तुलना में डेटा को 100 गुना तेजी से संसाधित करने का दावा करता है, जबकि डिस्क के साथ 10x तेज।

ग्राफ़ प्रसंस्करण:

अधिकांश रैंक प्रोसेसिंग एल्गोरिदम जैसे पेज रैंक एक ही डेटा पर कई पुनरावृत्तियों का प्रदर्शन करते हैं और इसके लिए एक संदेश पासिंग तंत्र की आवश्यकता होती है। हमें उसी डेटा पर ऐसे कई पुनरावृत्तियों को संभालने के लिए स्पष्ट रूप से MapReduce प्रोग्राम करने की आवश्यकता है। मोटे तौर पर, यह इस तरह काम करता है: डिस्क से डेटा पढ़ें और किसी विशेष पुनरावृत्ति के बाद, एचडीएफएस के लिए परिणाम लिखें और फिर अगले पुनरावृत्ति के लिए एचडीएफएस से डेटा पढ़ें। यह बहुत अयोग्य है क्योंकि इसमें डिस्क में डेटा पढ़ना और लिखना शामिल है जिसमें भारी I / O संचालन शामिल हैं और दोष सहिष्णुता के लिए क्लस्टर भर में डेटा प्रतिकृति है। इसके अलावा, प्रत्येक MapReduce पुनरावृत्ति में बहुत अधिक विलंबता होती है, और अगली पुनरावृत्ति पिछली नौकरी पूरी तरह से समाप्त होने के बाद ही शुरू हो सकती है।

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

अपाचे स्पार्क के परिचय ने इन समस्याओं को काफी हद तक हल कर दिया। स्पार्क में ग्राफएक्स नामक एक ग्राफ कम्प्यूटेशन लाइब्रेरी है जो हमारे जीवन को सरल बनाती है। इन-बिल्ट ग्राफ़ सपोर्ट के साथ-साथ मेमोरी कम्प्यूटेशन पारंपरिक MapReduce कार्यक्रमों पर एक या दो डिग्री के परिमाण द्वारा एल्गोरिथ्म के प्रदर्शन में सुधार करता है। स्पार्क पूरे निष्पादकों में संदेश वितरित करने के लिए Netty और Akka के संयोजन का उपयोग करता है। आइए कुछ आंकड़ों पर नजर डालते हैं जो Hadoop और Spark का उपयोग करते हुए PageRank एल्गोरिदम के प्रदर्शन को दर्शाते हैं।

Iterative मशीन लर्निंग एल्गोरिदम:

लगभग सभी मशीन लर्निंग एल्गोरिदम पुनरावृति से काम करते हैं। जैसा कि हम पहले देख चुके हैं कि पुनरावृत्त एल्गोरिदम में I / O अड़चनें शामिल हैं MapReduce कार्यान्वयन में। MapReduce मोटे-अनाज वाले कार्यों (टास्क-लेवल समानता) का उपयोग करता है जो पुनरावृत्त एल्गोरिदम के लिए बहुत भारी हैं। मेसोस की मदद से स्पार्क - एक वितरित सिस्टम कर्नेल, प्रत्येक पुनरावृत्ति के बाद मध्यवर्ती डेटासेट को कैश करता है और इस कैश्ड डेटासेट पर कई पुनरावृत्तियों को चलाता है जो I / O को कम करता है और एल्गोरिथ्म को एक दोष सहिष्णु तरीके से तेजी से चलाने में मदद करता है।

स्पार्क में एक अंतर्निहित स्केलेबल मशीन लर्निंग लाइब्रेरी है जिसे एमएललिब कहा जाता है जिसमें उच्च-गुणवत्ता वाले एल्गोरिदम होते हैं जो पुनरावृत्तियों का लाभ उठाते हैं और कभी-कभी MapReduce पर उपयोग किए गए एक पास सन्निकटन से बेहतर परिणाम प्राप्त करते हैं।

  • फास्ट डेटा प्रोसेसिंग। जैसा कि हम जानते हैं, स्पार्क इन-मेमोरी प्रोसेसिंग की अनुमति देता है। परिणामस्वरूप, रैम में डेटा के लिए स्पार्क 100 गुना तेज है और भंडारण में डेटा के लिए 10 गुना तक।
  • Iterative प्रसंस्करण। स्पार्क के RDDs, स्मृति में कई मानचित्र संचालन करने की अनुमति देते हैं, जिसमें डिस्क पर अंतरिम डेटा सेट लिखने की आवश्यकता नहीं होती है।
  • वास्तविक समय प्रसंस्करण के पास। स्पार्क तत्काल व्यापार अंतर्दृष्टि प्रदान करने के लिए एक उत्कृष्ट उपकरण है। यही कारण है कि क्रेडिट कार्ड की स्ट्रीमिंग प्रणाली में स्पार्क का उपयोग किया जाता है।

'अपाचे स्पार्क: अपाडो के एक हत्यारा या उद्धारकर्ता Hadoop?'

इसका उत्तर - हडोप मैपराइड और अपाचे स्पार्क एक दूसरे के साथ प्रतिस्पर्धा नहीं कर रहे हैं। वास्तव में, वे एक-दूसरे के पूरक हैं। Hadoop जिंस सिस्टम द्वारा नियंत्रण में विशाल डेटासेट लाता है। स्पार्क उन डेटा सेटों के लिए वास्तविक समय, इन-मेमोरी प्रोसेसिंग प्रदान करता है जिन्हें इसकी आवश्यकता होती है। जब हम अपाचे स्पार्क की क्षमता, यानी हाई प्रोसेसिंग स्पीड, एडवांस एनालिटिक्स और मल्टीपल इंटीग्रेशन सपोर्ट को कमोडिटी हार्डवेयर पर हडोप के कम परिचालन के साथ जोड़ते हैं, तो यह सबसे अच्छा परिणाम देता है। Hadoop ने Apache Spark क्षमताओं की तारीफ की। स्पार्क पूरी तरह से Hadoop की जगह नहीं ले सकता है, लेकिन अच्छी खबर यह है कि स्पार्क की मांग इस समय सर्वकालिक उच्च स्तर पर है! स्पार्क में महारत हासिल करने और अपने रास्ते में आने वाले कैरियर के अवसरों को बनाने का यह सही समय है। अभी शुरू हो जाओ!

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपको जल्द से जल्द वापस मिलेंगे।

यदि आप स्पार्क सीखना चाहते हैं और वास्तविक जीवन के उपयोग के मामलों के साथ आरडीडी, स्पार्क स्ट्रीमिंग, स्पार्कक्यूएल, एमएललिब, ग्राफएक्स और स्काला का उपयोग करके बड़े पैमाने पर डेटा प्रोसेसिंग करने के लिए स्पार्क के क्षेत्र में अपना कैरियर बनाना चाहते हैं, तो हमारे इंटरैक्टिव, लाइव-ऑनलाइन की जांच करें यहाँ, यह आपके सीखने की अवधि में मार्गदर्शन करने के लिए 24 * 7 समर्थन के साथ आता है।