2015-06-25 6 views
6

मैं अपने मस्तिष्क को हडोप के चारों ओर लपेटने की कोशिश कर रहा हूं और this excellent tutorial पढ़ता हूं और official Hadoop docs पर ध्यान केंद्रित करता हूं। हालांकि, इस साहित्य से कोई भी में कर सकते हैं मैं कुछ सुंदर अल्पविकसित के लिए एक सरल व्याख्या पढ़ सकते हैं: "नमस्ते विश्व"एचडीएफएस पर संग्रहीत इनपुट डेटा कैसे प्राप्त करता है?

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

तो मैं पूछना: असली दुनिया में , हैडोप को अपना इनपुट डेटा कैसे मिलता है? मुझे लगता है कि Sqoop और Flume जैसी परियोजनाएं हैं और मुझे आश्चर्य है कि इन ढांचे का पूरा बिंदु एमआर नौकरियों को चलाने के लिए केवल एचडीएफएस पर ईटीएल इनपुट डेटा है।

+1

अच्छा सवाल है, लेकिन "वास्तविक दुनिया" में भी कई मामले हैं (जो भी यह अवास्तविक दुनिया के लिए संकेत दे सकता है), जिसमें हैडऑप एचडीएफएस पर फाइलों से डेटा प्राप्त करता है। आपको अपनी जरूरतों के लिए उपयोगी हाइव मिल सकता है ... – vefthym

+1

धन्यवाद @vefthym (+1) - तो मुझे लगता है कि मेरे प्रश्न की जड़ यह है: * डेटा एचडीएफएस पर पहली जगह कैसे मिलता है? * कम से कम वहां एचडीएफएस पर विभिन्न विषम प्रणालियों (फिर मोंगो, कैसंद्रा, आरईएसटी एपीआई इत्यादि जैसे) से * कुछ * प्रकार का अपफ्रंट ईटीएल होना चाहिए। लेकिन मुझे लगता है कि ये ईटीएल प्रक्रिया इतनी धीमी और श्रम गहन होगी, कि हैडोप (या कुछ साथी ढांचा) सीधे इन सिस्टमों से सीधे डेटा लोड करने में सक्षम होंगे, या तो एचडीएफएस को पूरी तरह से बाईपास कर सकते हैं, या उन्हें एचडीएफएस जेआईटी पर लोड कर सकते हैं। – smeeb

+1

शायद आप [FileInputFormat] (https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/FileInputFormat.html) के अलावा वैकल्पिक इनपुट प्रारूपों की खोज में रुचि ले सकते हैं, उदाहरण के लिए [DBInputFormat ] (https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/lib/db/DBInputFormat.html), जो आपको किसी डेटाबेस में संग्रहीत गैर HDFS डेटा तक पहुंचने की अनुमति देता है। – frb

उत्तर

4

वास्तविक कारणों से वास्तविक कारणों में वास्तविक रूप से एचडीएफएस की आवश्यकता है।

  • मानचित्र का समर्थन करने के लिए बहुत उच्च बैंडविड्थ वर्कलोड और स्केलेबिलिटी को कम करता है।
  • डेटा विश्वसनीयता और गलती सहनशील। प्रतिकृति और वितरित प्रकृति के कारण। महत्वपूर्ण डेटा सिस्टम के लिए आवश्यक है।
  • लचीलापन - आपको एचडीएफएस में स्टोर करने के लिए डेटा को प्री-प्रोसेस करने की आवश्यकता नहीं है।

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

+0

धन्यवाद @ अंशुल जोशी (+1) - यह समझ में आता है। क्या आप कृपया पुष्टि कर सकते हैं कि डेवलपर्स के लिए कफका/फ्ल्यूम/स्क्वाओप/इत्यादि जैसे "इंजेस्टेशन टूल्स" का उपयोग करना सामान्य/सामान्य है। वास्तव में एमआर नौकरी से पहले एचडीएफएस में इनपुट डेटा लोड करने के लिए? यदि आप उस पर पुष्टि कर सकते हैं या उसे स्पष्ट/सही कर सकते हैं, तो मुझे पूरा सेट होना चाहिए। एक बार फिर धन्यवाद! – smeeb

+0

हां यह आम है और आम तौर पर सभी "उत्पादन" वातावरण में उपयोग किया जाता है। और सभी महत्वपूर्ण एमआर नौकरियों के आंकड़ों के लिए केवल एचडीएफएस से ही उपयोग किया जाता है। और डेटा हानि को रोकने या उच्च थ्रूपुट को बनाए रखने के लिए हमें ऐसे इंजेक्शन उपकरण का उपयोग करना होगा। आशा है कि मैंने आपके प्रश्न का उत्तर दिया। –

संबंधित मुद्दे