Hadoop का अर्थ है HDFS, YARN, MapReduce, और बहुत सारी अन्य चीजें। क्या आपका मतलब स्पार्क बनाम मेप्रेड्यूस है ? चूँकि स्पार्क हडूप पर / साथ चलता है, जो कि बिंदु है।
स्पार्क का उपयोग करने का प्राथमिक कारण गति के लिए है, और यह इस तथ्य से आता है कि इसका निष्पादन मैप्स या रिड्यूस के बाद हमेशा एचडीएफएस पर वापस रहने के बजाय चरणों के बीच स्मृति में डेटा रख सकता है। यह लाभ पुनरावृत्ति संगणनाओं के लिए बहुत स्पष्ट है, जिनमें दसियों चरण हैं जिनमें से प्रत्येक समान डेटा को छू रहा है। यह वह जगह है जहां चीजें "100x" तेजी से हो सकती हैं। सरल, एक पास ईटीएल जैसी नौकरियों के लिए जिसके लिए MapReduce डिज़ाइन किया गया था, यह सामान्य रूप से तेज़ नहीं है।
स्पार्क का उपयोग करने का एक अन्य कारण MapReduce की तुलना में इसकी उच्च स्तरीय भाषा है। यह एक कार्यात्मक प्रोग्रामिंग जैसा दृश्य प्रदान करता है जो कि स्काला की नकल करता है, जो मैपराइड कोड लिखने की तुलना में बहुत अच्छा है। (यद्यपि आपको या तो स्काला का उपयोग करना है, या स्पार्क के लिए थोड़ा-कम-विकसित जावा या पायथन एपीआई को अपनाना है)। क्रंच और कैस्केडिंग पहले से ही MapReduce के शीर्ष पर एक समान अमूर्तता प्रदान करते हैं, लेकिन यह अभी भी एक क्षेत्र है जहां स्पार्क अच्छा है।
अंत में स्पार्क के पास एमएल, ग्राफ विश्लेषण और स्ट्रीमिंग के लिए अभी तक युवा लेकिन आशाजनक उपप्रोजेक्ट हैं, जो एक समान, सुसंगत एपीआई को उजागर करते हैं। MapReduce के साथ, आपको इसके लिए कई अन्य प्रोजेक्ट्स (Mahout, Giraph, Storm) की ओर रुख करना होगा। यह एक पैकेज में होना अच्छा है, भले ही अभी तक 'बेक्ड' न हो।
आप स्पार्क का उपयोग क्यों नहीं करेंगे? अपने आप को परास्त करना:
- स्पार्क मुख्य रूप से स्काला है, पोर्टेड जावा एपीआई के साथ; MapReduce जावा आधारित डेवलपर्स के लिए मित्रतापूर्ण और अधिक मूल हो सकता है
- वहाँ स्पार्क की तुलना में अब अधिक MapReduce विशेषज्ञता है
- डेटा-पैरेलल, वन-पास, ईटीएल जैसी नौकरियों के लिए, मैपआरड्यूस के लिए डिज़ाइन किया गया था, मैपआरड्यूस स्पार्क समकक्ष की तुलना में हल्का है।
- स्पार्क काफी परिपक्व है, और इसलिए अब YARN है, लेकिन स्पार्क-ऑन-YARN अभी भी बहुत नया है। हो सकता है कि दोनों अभी तक एकीकृत रूप से एकीकृत न हों। उदाहरण के लिए जब तक हाल ही में मुझे नहीं लगता कि स्पार्क यारों की संख्या के आधार पर आवंटन के लिए पूछ सकता है? वह यह है: MapReduce को समझना, प्रबंधित करना और ट्यून करना आसान हो सकता है