2013-09-03 6 views

उत्तर

13

मैड्रिडस उपयुक्त विकल्प नहीं है, तो मैं पूछूंगा? मुझे नहीं लगता कि यदि आप इसे इरादे से उपयोग कर रहे हैं तो आपको कोई नुकसान दिखाई देगा। बीत रहा है ने कहा कि, कुछ मामलों देखते हैं जहां mapreduce एक उपयुक्त विकल्प नहीं है:

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

कई अन्य मामले हो सकते हैं। लेकिन यहां महत्वपूर्ण बात यह है कि आप इसका कितना अच्छा उपयोग कर रहे हैं। उदाहरण के लिए, आप एमआर नौकरी की उम्मीद नहीं कर सकते हैं कि आप दो एमएस में परिणाम दें। आप इसे इसके नुकसान के रूप में भी नहीं मान सकते हैं। यह सिर्फ इतना है कि आप इसे गलत जगह पर उपयोग कर रहे हैं। और यह किसी भी प्रौद्योगिकी, आईएमएचओ के लिए सच है। लंबी कहानी छोटी, आप कार्य करने से पहले अच्छी तरह से सोचो।

आप अभी भी चाहते हैं, आप mapreduce :)

HTH

1
  1. सबसे पहले, यह नक्शा उत्पादन धाराओं, अगर यह संभव है स्मृति में रखने के लिए यह और अधिक कुशल हो जाएगा। मैंने मूल रूप से एमपीआई का उपयोग करके अपने एल्गोरिदम को तैनात किया लेकिन जब मैंने कुछ नोड्स को स्केल किया, तो स्वैपिंग शुरू हो गई, इसलिए मैंने संक्रमण किया।

  2. नामनोड आपके वितरित फ़ाइल सिस्टम में सभी फ़ाइलों के मेटाडेटा का ट्रैक रखता है। मैं एक हडूप पुस्तक (कार्रवाई में हडोप) पढ़ रहा हूं और इसमें उल्लेख किया गया है कि याहू ने अनुमान लगाया है कि मेटाडेटा प्रति फ़ाइल लगभग 600 बाइट्स हो। इसका तात्पर्य है कि यदि आपके पास बहुत अधिक फाइलें हैं तो आपके नामनोड को समस्याएं आ सकती हैं।

  3. आप स्ट्रीमिंग एपीआई आप जावा भाषा में अपने प्रोग्राम लिखने के लिए है का उपयोग नहीं करना चाहते हैं। उदाहरण के लिए मैंने सी ++ से अनुवाद किया था। इसका कुछ साइड इफेक्ट्स हैं, उदाहरण के लिए जावा की तुलना में जावा की एक बड़ी स्ट्रिंग ओवरहेड है। चूंकि मेरा सॉफ़्टवेयर तारों के बारे में है, यह किसी प्रकार की कमी है।

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

+0

एनएन के पास एमआर के साथ कुछ लेना देना नहीं है। – Tariq

+0

यह आर्किटेक्चर चल रहा है मैड्रिडस की एक सीमा है, इसलिए यह ध्यान में रखना कुछ है, हालांकि आप सही हैं, इसे सख्ती से एमआर से संबंधित नहीं होना चाहिए – DDW

+0

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

1
  1. आप पर पुनर्विचार करने/नक्शे में प्राप्त करने के लिए फिर से लिखने तुच्छ संचालन की तरह शामिल, फ़िल्टर/कम करने/कुंजी/मूल्य पैटर्न
  2. MapReduce मानता है कि काम parallelized किया जा सकता की जरूरत है। लेकिन यह सभी डेटा प्रोसेसिंग नौकरियों के मामले में नहीं हो सकता है।
  3. यह जावा के साथ निकटता से जुड़ा हुआ है, बेशक आपके पास बचाव के लिए सुअर और हाइव है लेकिन आप लचीलापन खो देते हैं।
+0

यदि आप जावा का उपयोग नहीं करना चाहते हैं तो आप हमेशा स्ट्रीमिंग का उपयोग कर सकते हैं। – Tariq

3

यहाँ कुछ usecases जहां MapReduce बहुत अच्छी तरह से काम नहीं करता है का नुकसान के रूप में ऊपर अंक ले सकते हैं।

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