Hadoop, HBase, Hive और Pig का उपयोग कब करें?


185

Hadoop या HBase या Hive के उपयोग से क्या लाभ हैं ?

मेरी समझ से, HBase मैप-कम का उपयोग करने से बचता है और इसमें HDFS के ऊपर एक कॉलम ओरिएंटेड स्टोरेज है। Hive , Hadoop और HBase के लिए एक sql- जैसा इंटरफ़ेस है ।

मैं यह भी जानना चाहूंगा कि हाइव सुअर के साथ तुलना कैसे करता है ।


Hadoop : Hadoop डिस्ट्रिब्यूटेड फाइल सिस्टम + कम्प्यूटेशनल प्रोसेसिंग मॉडल MapReduce। HBase : की-वैल्यू स्टोरेज, वास्तविक समय में पढ़ने और लिखने के लिए अच्छा है। छत्ता : SQL- जैसे सिंटैक्स का उपयोग करके HDFS से डेटा निष्कर्षण के लिए उपयोग किया जाता है। सुअर : ETL बनाने के लिए एक डेटा प्रवाह भाषा है।
dbustosp

जवाबों:


348

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

आपके प्रश्न के पहले भाग में वापस आ रहा है, Hadoop मूल रूप से 2 चीजें हैं: एक वितरित फ़ाइल सिस्टम (HDFS) + एक संगणना या प्रसंस्करण ढांचा (MapReduce) । अन्य सभी एफएस की तरह, एचडीएफएस भी हमें भंडारण प्रदान करता है, लेकिन गलती से उच्च थ्रूपुट और डेटा हानि के कम जोखिम (प्रतिकृति के कारण) के साथ सहिष्णु तरीके से। लेकिन, एफएस होने के नाते, एचडीएफएस में यादृच्छिक पढ़ने और लिखने की पहुंच का अभाव है । यह वह जगह है जहाँ HBase चित्र में आता है। यह एक वितरित, स्केलेबल, बड़ा डेटा स्टोर है , जिसे Google के बिगटेबल के बाद बनाया गया है। यह डेटा को कुंजी / मान जोड़े के रूप में संग्रहीत करता है।

हाइव पर आ रहा है। यह हमें मौजूदा Hadoop क्लस्टर के शीर्ष पर डेटा वेयरहाउसिंग सुविधाएं प्रदान करता है । इसके साथ ही यह एक SQL जैसा इंटरफ़ेस प्रदान करता है जो आपके काम को आसान बनाता है, यदि आप SQL पृष्ठभूमि से आ रहे हैं। आप हाइव में टेबल बना सकते हैं और वहां डेटा स्टोर कर सकते हैं। इसके साथ ही आप अपने मौजूदा HBase तालिकाओं को हाइव में मैप कर सकते हैं और उन पर काम कर सकते हैं।

जबकि सुअर मूल रूप से एक डेटाफ़्लो भाषा है जो हमें बहुत आसानी से और जल्दी से बड़ी मात्रा में डेटा संसाधित करने की अनुमति देता है। पिग में मूल रूप से 2 भाग होते हैं: पिग इंटरप्रेटर और भाषा, पिगलैटिन । आप PigLatin में Pig स्क्रिप्ट लिखते हैं और Pig दुभाषिया का उपयोग करके उन्हें प्रोसेस करते हैं। सुअर हमारे जीवन को बहुत आसान बना देता है, अन्यथा MapReduce लिखना हमेशा आसान नहीं होता है। वास्तव में कुछ मामलों में यह वास्तव में दर्द बन सकता है।

मैंने कुछ समय पहले Hadoop पारिस्थितिकी तंत्र के विभिन्न उपकरणों की एक छोटी तुलना पर एक लेख लिखा था। यह गहराई से तुलना नहीं है, लेकिन इन उपकरणों में से प्रत्येक के लिए एक छोटा परिचय है जो आपको आरंभ करने में मदद कर सकता है। (बस मेरे जवाब पर जोड़ने के लिए। कोई आत्म पदोन्नति का इरादा नहीं)

हाइव और पिग दोनों प्रश्न हूड के तहत MapReduce नौकरियों में परिवर्तित हो जाते हैं।

HTH


आप yarnहाडोप इकोसिस्टम के बारे में बात करना भूल जाते हैं :(।
केनेरी सांचेज

53

मैंने हाल ही में अपनी फर्म में एक हाइव डेटा प्लेटफॉर्म लागू किया है और मैं इसे पहले व्यक्ति से बोल सकता हूं क्योंकि मैं एक आदमी टीम था।

उद्देश्य

  1. 350+ सर्वरों से दैनिक वेब लॉग फ़ाइलों को एकत्र करने के लिए दैनिक SQL भाषा जैसी कुछ SQL के माध्यम से
  2. Hive के साथ MySQL के माध्यम से उत्पन्न दैनिक एकत्रीकरण डेटा को बदलने के लिए
  3. Hive में क्वेरीज़ के माध्यम से कस्टम रिपोर्ट बनाएँ

वास्तुकला के विकल्प

मैंने निम्नलिखित विकल्प दिए हैं:

  1. हाइव + HDFS
  2. Hive + HBase - क्वेरीज़ बहुत धीमी थीं इसलिए मैंने इस विकल्प को डंप कर दिया

डिज़ाइन

  1. दैनिक लॉग फाइल को HDFS में ले जाया गया
  2. MR नौकरियों ने इन लॉग फ़ाइलों और आउटपुट फ़ाइलों को पार्स किया HDFS
  3. HDFS की ओर इशारा करते हुए विभाजन और स्थानों के साथ हाइव टेबल बनाएं स्थानों की
  4. Hive क्वेरी स्क्रिप्ट बनाएँ ( यदि आप SQL से भिन्न हैं तो इसे HQL कहें ) जो बदले में पृष्ठभूमि में एमआर जॉब चलाती है और एकत्रीकरण डेटा उत्पन्न करती है
  5. इन सभी चरणों को एक Oozie वर्कफ़्लो में डालें - डेली Oozie समन्वयक के साथ अनुसूचित

सारांश

HBase एक मानचित्र की तरह है। यदि आप कुंजी जानते हैं, तो आप तुरंत मूल्य प्राप्त कर सकते हैं। लेकिन अगर आप जानना चाहते हैं कि Hbase में कितने पूर्णांक कुंजियाँ 1000000 और 2000000 के बीच हैं जो Hbase के लिए उपयुक्त नहीं हैं अकेले हैं।

यदि आपके पास ऐसे डेटा हैं जिन्हें एकत्रित करने, रोल्ड करने, पंक्तियों में विश्लेषण करने की आवश्यकता है, तो हाइव पर विचार करें ।

उम्मीद है कि यह मदद करता है।

हाइव वास्तव में चट्टानों ... मुझे पता है, मैं इसे 12 महीने के लिए रह चुके हैं ... तो HBase करता है ...


1
HBase एक NonSQL डेटाबेस है जो HDFS में डेटा स्टोर करता है। इसका उपयोग तब किया जाता है जब आपको अपने बड़े डेटा तक यादृच्छिक, वास्तविक समय पढ़ने / लिखने की आवश्यकता होती है।
रूट लूप

28

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

Hadoop में चार मुख्य मॉड्यूल हैं।

  1. Hadoop Common : सामान्य उपयोगिताओं जो अन्य Hadoop मॉड्यूल का समर्थन करती हैं।

  2. Hadoop डिस्ट्रिब्यूटेड फाइल सिस्टम ( HDFS ™ ): एक वितरित फाइल सिस्टम जो एप्लिकेशन डेटा को उच्च-थ्रूपुट एक्सेस प्रदान करता है।

  3. Hadoop YARN : नौकरी निर्धारण और क्लस्टर संसाधन प्रबंधन के लिए एक रूपरेखा।

  4. Hadoop MapReduce : बड़े डेटा सेट के समानांतर प्रसंस्करण के लिए एक YARN- आधारित प्रणाली।

आगे जाने से पहले, कृपया ध्यान दें कि हमारे पास तीन अलग-अलग प्रकार के डेटा हैं।

  • संरचित : संरचित डेटा में मजबूत स्कीमा होती है और लिखने और पढ़ने के संचालन के दौरान स्कीमा की जाँच की जाएगी। उदाहरण के लिए RDBMS सिस्टम में डेटा जैसे Oracle, MySQL सर्वर आदि।

  • असंरचित : डेटा की कोई संरचना नहीं है और यह किसी भी रूप में हो सकता है - वेब सर्वर लॉग, ई-मेल, चित्र आदि।

  • अर्ध-संरचित : डेटा कड़ाई से संरचित नहीं है, लेकिन कुछ संरचना है। जैसे XML फाइलें।

संसाधित किए जाने वाले डेटा के प्रकार के आधार पर, हमें सही तकनीक का चयन करना होगा।

कुछ और परियोजनाएं, जो Hadoop का हिस्सा हैं:

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

  • हाइव ™: एक डेटा वेयरहाउस इन्फ्रास्ट्रक्चर जो डेटा सारांश और तदर्थ क्वेरी प्रदान करता है।

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

हाइव बनाम पीआईजी की तुलना इस लेख में और इस एसई प्रश्न पर मेरी अन्य पोस्ट से मिल सकती है ।

HBASE मैप रिड्यूस को प्रतिस्थापित नहीं करेगा। HBase स्केलेबल वितरित डेटाबेस है और मैप रिड्यूस डेटा के वितरित प्रसंस्करण के लिए प्रोग्रामिंग मॉडल है। मैप रिड्यूस प्रसंस्करण में HBASE में डेटा पर कार्य कर सकता है।

आप संरचित / अर्ध-संरचित डेटा के लिए HIVE / HBASE का उपयोग कर सकते हैं और इसे Hadoop Map Reduce के साथ संसाधित कर सकते हैं

आप पारंपरिक RDBMS डेटाबेस ओरेकल, SQL सर्वर आदि से संरचित डेटा आयात करने के लिए SQOOP का उपयोग कर सकते हैं और इसे Hadoos Mapuce के साथ संसाधित कर सकते हैं

आप गैर-संरचित डेटा को संसाधित करने और Hadoop मैप रिड्यूस के साथ प्रक्रिया के लिए FLUME का उपयोग कर सकते हैं

पर एक नज़र है: Hadoop उपयोग मामलों

समय की अवधि में एकत्रित डेटा की विश्लेषणात्मक क्वेरी के लिए हाइव का उपयोग किया जाना चाहिए। उदाहरण के लिए रुझानों की गणना करें, वेबसाइट लॉग को सारांशित करें लेकिन इसका उपयोग वास्तविक समय के प्रश्नों के लिए नहीं किया जा सकता है।

HBase बिग डेटा की रियल-टाइम क्वेरी के लिए फिट बैठता है। फेसबुक इसका इस्तेमाल मैसेजिंग और रियल-टाइम एनालिटिक्स के लिए करता है।

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

Hive का उपयोग तदर्थ डेटा विश्लेषण के लिए किया जा सकता है, लेकिन यह PIG के विपरीत सभी संरचित डेटा स्वरूपों का समर्थन नहीं कर सकता है।


फेसबुक अब रियल टाइम मैसेजिंग सिस्टम के लिए ओपन सोर्स HBase का उपयोग नहीं करता है। उन्होंने इसे अपने इन-हाउस [Myrocks डेटाबेस] से बदल दिया। ( Engineering.fb.com/core-data/... )
PPK

23

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


वास्तव में आप Hase को HBase पर बना सकते हैं ताकि आप HQL का पूर्ण स्कैन hbase पर उपयोग कर सकें, जबकि सीधे hbase पर अनुक्रमित क्वेरी करने में सक्षम हों। लेकिन मुझे संदेह है कि यह आपको पूर्ण स्कैन पर धीमा प्रदर्शन देता है।
फ्रॉस्टनोवाज़ज़

HBase ओरिएंटेड सिस्टम है, यह स्कैन पर इष्टतम नहीं है, हालांकि डेटा को सॉर्ट किया जाता है। इसलिए जब कुछ रेंज स्कैन करना अच्छा विकल्प हो सकता है, तो फुल स्कैन बहुत धीमा हो जाएगा, फिर सीधे HDFS से
डेविड ग्रुज़मैन

5

Hadoop Vs Cassandra / HBase के बीच तुलना के लिए इस पोस्ट को पढ़ें ।

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

जहां ऐस हाइव डेटा वेयरहाउसिंग समाधान की तरह है। आप हाइव सामग्री को क्वेरी करने के लिए SQL के समान एक सिंटैक्स का उपयोग कर सकते हैं जिसके परिणामस्वरूप मैप कम करने का काम होता है। तेज, लेन-देन प्रणालियों के लिए आदर्श नहीं है।


5

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

हमने उपरोक्त अनुप्रयोगों के लिए Hadoop पारिस्थितिकी तंत्र प्रौद्योगिकियों का उपयोग किया है ।

वास्तविक समय प्रसंस्करण

अपाचे स्टॉर्म: स्ट्रीम डेटा प्रोसेसिंग, नियम एप्लिकेशन

HBase: रीयलटाइम डैशबोर्ड की सेवा के लिए डेटास्टोर

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

इवेंट हैंडलिंग लेयर

अपाचे काफ्का सेंसर से उच्च वेग की घटनाओं का उपभोग करने के लिए पहली परत थी। काफ्का लिंक्डइन कनेक्टर्स के माध्यम से रियल टाइम और बैच एनालिटिक्स डेटा फ्लो दोनों परोसता है।


5

गहराई से समझना

Hadoop

HadoopApacheनींव का एक खुला स्रोत परियोजना है । यह एक ढाँचा है Java, जिसे मूल रूप से 2005 में डौग कटिंग द्वारा विकसित किया गया था। यह Nutchपाठ खोज इंजन के लिए वितरण का समर्थन करने के लिए बनाया गया था । इसकी नींव के रूप में Google और Google फ़ाइल सिस्टम टेक्नोलॉजीज Hadoopका उपयोग करता है Map Reduce

Hadoop की विशेषताएं

  1. यह कमोडिटी हार्डवेयर का उपयोग करके बड़े पैमाने पर संरचित, अर्ध-संरचित और असंरचित डेटा को संभालने के लिए अनुकूलित है।
  2. यह कुछ भी नहीं वास्तुकला साझा किया है।
  3. यह कई कंप्यूटरों में अपने डेटा को दोहराता है ताकि अगर कोई नीचे जाए, तो डेटा को अभी भी किसी अन्य मशीन से संसाधित किया जा सके जो इसकी प्रतिकृति को संग्रहीत करता है।
  4. Hadoopकम विलंबता के बजाय उच्च थ्रूपुट के लिए है। यह एक बैच ऑपरेशन है जो भारी मात्रा में डेटा को संभालता है; इसलिए प्रतिक्रिया समय तत्काल नहीं है।
  5. यह ऑनलाइन लेनदेन प्रसंस्करण और ऑनलाइन विश्लेषणात्मक प्रसंस्करण का पूरक है। हालांकि, यह एक के लिए एक प्रतिस्थापन नहीं है RDBMS
  6. यह अच्छा नहीं है जब काम को समानांतर नहीं किया जा सकता है या जब डेटा के भीतर निर्भरताएं होती हैं।
  7. यह छोटी फाइलों को प्रोसेस करने के लिए अच्छा नहीं है। यह विशाल डेटा फ़ाइलों और डेटा सेट के साथ सबसे अच्छा काम करता है।

Hadoop के संस्करण

Hadoopउपलब्ध के दो संस्करण हैं :

  1. Hadoop 1.0
  2. Hadoop 2.0

Hadoop 1.0

इसके दो मुख्य भाग हैं:

1. डाटा स्टोरेज फ्रेमवर्क

यह एक सामान्य-उद्देश्य वाली फ़ाइल प्रणाली है जिसे Hadoop Distributed File System ( HDFS) कहा जाता है ।

HDFS स्कीमा-कम है

यह केवल डेटा फ़ाइलों को संग्रहीत करता है और ये डेटा फ़ाइलें किसी भी प्रारूप के बारे में हो सकती हैं।

यह विचार है कि फाइलों को यथासंभव उनके मूल रूप के करीब संग्रहित किया जाए।

यह बदले में व्यावसायिक इकाइयों और संगठन को जरूरत से ज्यादा लचीलेपन और चपलता प्रदान करता है, जो इसे लागू नहीं कर सकता है।

2. डाटा प्रोसेसिंग फ्रेमवर्क

यह एक साधारण कार्यात्मक प्रोग्रामिंग मॉडल है जिसे शुरुआत में Google द्वारा लोकप्रिय बनाया गया था MapReduce

यह अनिवार्य रूप से दो कार्यों का उपयोग करता है: MAPऔर REDUCEडेटा को संसाधित करने के लिए।

"मैपर्स" कुंजी-मूल्य जोड़े के एक सेट में लेते हैं और मध्यवर्ती डेटा उत्पन्न करते हैं (जो कुंजी-मूल्य जोड़े की एक और सूची है)।

"Reducers" आउटपुट डेटा का उत्पादन करने के लिए इस इनपुट पर कार्य करता है।

दो कार्य एक-दूसरे के साथ अलगाव में काम करते हैं, इस प्रकार प्रसंस्करण को अत्यधिक समानांतर, दोष-सहिष्णुता और मापनीय तरीके से वितरित किया जाता है।

Hadoop 1.0 की सीमाएं

  1. पहली सीमा MapReduceप्रोग्रामिंग विशेषज्ञता की आवश्यकता थी ।

  2. इसने केवल बैच प्रसंस्करण का समर्थन किया, जो लॉग विश्लेषण, बड़े पैमाने पर डेटा खनन परियोजनाओं जैसे कार्यों के लिए उपयुक्त है, लेकिन अन्य प्रकार की परियोजनाओं के लिए बहुत अधिक अनुपयुक्त है।

  3. एक बड़ी सीमा यह थी कि Hadoop 1.0कसकर कम्प्यूटेशनल रूप से युग्मित किया गया था MapReduce, जिसका अर्थ था कि स्थापित डेटा प्रबंधन विक्रेता जहां दो राय छोड़ गए थे:

    1. या तो में उनकी कार्यक्षमता को फिर से लिखने MapReduceइतना है कि यह में क्रियान्वित किया जा सकता है Hadoopया

    2. से डेटा निकालें HDFSया इसके बाहर की प्रक्रिया करें Hadoop

कोई भी विकल्प व्यवहार्य नहीं था क्योंकि यह Hadoopक्लस्टर के अंदर और बाहर स्थानांतरित होने के कारण अक्षमताओं को संसाधित करने के लिए प्रेरित करता था ।

Hadoop 2.0

में Hadoop 2.0, HDFSडेटा स्टोरेज फ्रेमवर्क होना जारी है।

हालांकि, एक नया और अलग संसाधन प्रबंधन ढांचे बुलाया वाई एट एक nother आर esource एन egotiater ( यार्न ) जोड़ा गया है।

समानांतर कार्यों में खुद को विभाजित करने में सक्षम कोई भी एप्लिकेशन YARN द्वारा समर्थित है।

YARN प्रस्तुत आवेदन के उप-प्रकारों के आवंटन का समन्वय करता है, जिससे अनुप्रयोगों का लचीलापन, मापनीयता और दक्षता बढ़ जाती है।

यह जॉब ट्रैकर के स्थान पर एक एप्लिकेशन मास्टर होने से काम करता है , नए नोड प्रबंधक द्वारा संचालित संसाधनों पर एप्लिकेशन चल रहा है ।

ApplicationMaster किसी भी एप्लिकेशन को चलाने में सक्षम है और न केवल MapReduce

इसका मतलब यह है कि यह न केवल बैच प्रसंस्करण बल्कि वास्तविक समय प्रसंस्करण का भी समर्थन करता है। MapReduceअब केवल डेटा प्रोसेसिंग विकल्प नहीं है।

Hadoop के फायदे

यह से इसके मूल में डेटा संग्रहीत करता। डेटा में कुंजीयन या डेटा संग्रहीत करते समय कोई संरचना नहीं है। HDFSस्कीमा कम है। यह केवल बाद में होता है जब डेटा को संसाधित करने की आवश्यकता होती है कि संरचना कच्चे डेटा पर लागू होती है।

यह स्केलेबल है। Hadoopसमानांतर में काम करने वाले सैकड़ों सस्ती सर्वरों में बहुत बड़े डेटासेट स्टोर और वितरित कर सकते हैं।

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

यह लचीला है। इसका एक प्रमुख लाभ Hadoopयह है कि यह किसी भी प्रकार के डेटा के साथ काम कर सकता है: संरचित, असंरचित या अर्ध-संरचित। इसके अलावा, Hadoop"डेटा को स्थानांतरित कोड" प्रतिमान के कारण प्रसंस्करण बहुत तेज है ।

Hadoop Ecosystem

Hadoopपारिस्थितिकी तंत्र के घटक निम्नलिखित हैं :

HDFS : Hadoopवितरित फ़ाइल सिस्टम। यह मूल रूप से संभव के रूप में डेटा फ़ाइलों को संग्रहीत करता है।

HBase : यह Hadoop का डेटाबेस है और इसकी तुलना a से करता है RDBMS। यह बड़ी तालिकाओं के लिए संरचित डेटा भंडारण का समर्थन करता है।

हाइव : यह मानक के समान भाषा का उपयोग करके बड़े डेटासेट का विश्लेषण करने में सक्षम बनाता है ANSI SQL, जिसका तात्पर्य यह है कि किसी भी पारिवारिक व्यक्ति SQLको Hadoopक्लस्टर पर डेटा तक पहुंचने में सक्षम होना चाहिए ।

सुअर : डेटा प्रवाह भाषा को समझना आसान है। यह बड़े डेटासेट के विश्लेषण में मदद करता है जो काफी ऑर्डर के साथ है HadoopPigलिपियों को दुभाषिया MapReduceद्वारा स्वचालित रूप से नौकरियों में बदल दिया जाता है Pig

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

ओजी : यह schedularअपाचे Hadoopनौकरियों का प्रबंधन करने के लिए एक कार्यप्रवाह प्रणाली है ।

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

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

Sqoop : इसका उपयोग बल्क डेटा के बीच Hadoopऔर संरचित डेटा स्टोर जैसे कि रिलेशनल डेटाबेस को स्थानांतरित करने के लिए किया जाता है ।

अंबारी : यह Hadoopक्लस्टर के प्रावधान, प्रबंधन और निगरानी के लिए एक वेब आधारित उपकरण है ।

मधुमुखी का छत्ता

Hiveमें डेटा संरचित करने के लिए डेटा वेयरहाउस इन्फ्रास्ट्रक्चर टूल है Hadoop। यह Hadoopबिग डेटा को संक्षेप करने के लिए शीर्ष पर रहता है और क्वेरी करना और विश्लेषण करना आसान बनाता है।

छत्ता नहीं है

  1. एक संबंधपरक डेटाबेस

  2. ऑनलाइन लेनदेन प्रसंस्करण के लिए एक डिजाइन ( OLTP)।

  3. वास्तविक समय के प्रश्नों और पंक्ति-स्तरीय अपडेट के लिए एक भाषा।

छत्ता की विशेषताएं

  1. यह डेटाबेस और संसाधित डेटा में स्कीमा को संग्रहीत करता है HDFS

  2. इसके लिए बनाया गया है OLAP

  3. यह SQLबुलाया HiveQLया क्वेरी के लिए टाइप भाषा प्रदान करता है HQL

  4. यह पारिवारिक, तेज, स्केलेबल और एक्स्टेंसिबल है।

हाइव आर्किटेक्चर

निम्नलिखित घटक हाइव आर्किटेक्चर में निहित हैं:

  1. उपयोगकर्ता इंटरफ़ेस : Hiveएक data warehouseबुनियादी ढांचा है जो उपयोगकर्ता और के बीच बातचीत बना सकता है HDFSHiveहाइव वेब यूआई, हाइव कमांड लाइन और हाइव एचडी इनसाइट (विंडोज सर्वर में) का समर्थन करने वाले यूजर इंटरफेस ।

  2. मेटास्टोर : स्कीमा या टेबल, डेटाबेस, कॉलम को एक टेबल में स्टोर करने , उनके डेटा प्रकार और मैपिंग से Hiveसंबंधित चुनता है ।database serversMetadataHDFS

  3. HiveQL प्रक्रिया इंजन : स्कीमा जानकारी पर क्वेरी HiveQLकरने के SQLलिए समान है Metastore। यह MapReduceकार्यक्रम के लिए पारंपरिक दृष्टिकोण के प्रतिस्थापन में से एक है । लेखन के बजाय MapReduceमें Java, हम के लिए एक प्रश्न लिख सकते हैं MapReduceऔर इसे संसाधित।

  4. Exceution इंजन : की संयोजन हिस्सा HiveQLप्रक्रिया इंजन और MapReduceहै Hiveनिष्पादन इंजन। निष्पादन इंजन क्वेरी को संसाधित करता है और परिणाम भी उसी तरह उत्पन्न करता है MapReduce results। यह के स्वाद का उपयोग करता है MapReduce

  5. HDFS या HBase : Hadoopवितरित फ़ाइल सिस्टम या फ़ाइल सिस्टम HBaseमें डेटा स्टोर करने के लिए डेटा स्टोरेज तकनीक हैं।


1

सबसे पहले हमें यह स्पष्ट करना चाहिए कि Hadoop को RDBMS के तेज विकल्प के रूप में बनाया गया था । बड़ी मात्रा में डेटा को बहुत तेज़ दर पर संसाधित करने के लिए जो पहले RDBMS में बहुत समय लेता था।

अब एक को दो शब्दों को जानना चाहिए:

  1. संरचित डेटा : यह वह डेटा है जिसका उपयोग हमने पारंपरिक आरडीबीएमएस में किया था और इसे अच्छी तरह से परिभाषित संरचनाओं में विभाजित किया गया है।

  2. अनस्ट्रक्चर्ड डेटा : यह समझना महत्वपूर्ण है, विश्व डेटा का लगभग 80% असंरचित या अर्ध संरचित है। ये वे डेटा हैं जो अपने कच्चे रूप में हैं और इन्हें आरडीएमएस का उपयोग करके संसाधित नहीं किया जा सकता है। उदाहरण: फेसबुक, ट्विटर डेटा। ( http://www.dummies.com/how-to/content/unstructured-data-in-a-big-data-environment.html )।

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

आगे जाने से पहले मैं बताना चाहूंगा कि एक नया बिग डेटा टूल तब बनाया जाता है जब वे पिछले टूल में कोई खराबी देखते हैं। तो, जो भी उपकरण आप देखेंगे कि बनाया गया है पिछले उपकरणों की समस्या को दूर करने के लिए किया गया है।

Hadoop को बस दो चीजों के रूप में कहा जा सकता है: Mapreduce और HDFS । Mapreduce जहां प्रसंस्करण जगह लेता है और HDFS डेटाबेस जहां डाटा संग्रहित किया जाता है है। इस संरचना ने WORM प्रिंसिपल का अनुसरण किया अर्थात एक बार कई बार पढ़ा। इसलिए, एचडीएफएस में डेटा संग्रहीत करने के बाद, हम परिवर्तन नहीं कर सकते। इसने HBASE का निर्माण किया , एक NOSQL उत्पाद जहां हम एक बार लिखने के बाद भी डेटा में बदलाव कर सकते हैं।

लेकिन समय के साथ हमने देखा कि Hadoop के कई दोष थे और इसके लिए हमने Hadoop संरचना के ऊपर अलग वातावरण बनाया। PIG और HIVE दो लोकप्रिय उदाहरण हैं।

HIVE SQL पृष्ठभूमि वाले लोगों के लिए बनाया गया था । प्रश्नों लिखा के रूप में नामित एसक्यूएल के समान है HIVEQL । छत्ता पूरी तरह से संसाधित करने के लिए विकसित किया गया था संरचित डेटा । यह ustructured डेटा के लिए इस्तेमाल नहीं कर रहा है।

दूसरी ओर पीआईजी की अपनी क्वेरी भाषा यानी पीआईजी लेटिन है । इसका उपयोग संरचित के साथ-साथ असंरचित डेटा दोनों के लिए किया जा सकता है ।

इस अंतर पर चलते हुए कि कब HIVE का उपयोग करना है और कब PIG का उपयोग करना है, मुझे नहीं लगता कि PIG के वास्तुकार के अलावा कोई और कह सकता है। लिंक का पालन करें: https://developer.yahoo.com/blogs/hadoop/comparing-pig-latin-sql-constructing-data-processing-pipelines-444.html


1

Hadoop:

HDFS का मतलब है हडोप डिस्ट्रीब्यूटेड फाइल सिस्टम जो कम्प्यूटेशनल प्रोसेसिंग मॉडल मैप-रिड्यूस का उपयोग करता है।

HBase:

HBase की-वैल्यू स्टोरेज है, जो वास्तविक समय में पढ़ने और लिखने के लिए अच्छा है।

हाइव:

Hive का उपयोग SQL-जैसा सिंटैक्स का उपयोग करके HDFS से डेटा निष्कर्षण के लिए किया जाता है। HQL भाषा का उपयोग करें।

सुअर:

सुअर ETL बनाने के लिए एक डेटा प्रवाह भाषा है। यह एक स्क्रिप्टिंग भाषा है।


0

मुझे कुछ शब्दों में जवाब देने की कोशिश करें।

Hadoop एक इको-सिस्टम है जिसमें अन्य सभी उपकरण शामिल हैं। तो, आप Hadoop की तुलना नहीं कर सकते लेकिन आप MapReduce की तुलना कर सकते हैं।

यहाँ मेरे कुछ सेंट हैं:

  1. हाइव: यदि आपकी ज़रूरत बहुत ही SQLish है, जिसका अर्थ है कि आपकी समस्या स्टेटमेंट SQL द्वारा पूरी की जा सकती है, तो सबसे आसान काम यह है कि आप Rive का उपयोग करें। दूसरा मामला, जब आप हाइव का उपयोग करेंगे, जब आप सर्वर को डेटा की निश्चित संरचना के लिए चाहते हैं।
  2. सुअर: यदि आप सुअर लैटिन के साथ सहज हैं और आपको जरूरत है तो डेटा पाइपलाइनों की। साथ ही, आपके डेटा में संरचना का अभाव है। उन मामलों में, आप सुअर का उपयोग कर सकते हैं। ईमानदारी से उपयोग मामलों के संबंध में हाइव और सुअर के बीच बहुत अंतर नहीं है।
  3. MapReduce: यदि आपकी समस्या SQL स्ट्रेट का उपयोग करके हल नहीं की जा सकती है, तो आपको पहले Hive & Pig के लिए UDF बनाने का प्रयास करना चाहिए और फिर यदि UDF समस्या को हल नहीं कर रहा है तो MapReduce के माध्यम से इसे पूरा करना समझ में आता है।

0

सुअर: फ़ाइलों और सफाई डेटा उदाहरण को संभालना बेहतर है: अशक्त मूल्यों को हटाना, स्ट्रिंग हैंडलिंग, अनावश्यक मान हाइव: स्वच्छ डेटा की क्वेरी के लिए


0

1. हम Hadoop का उपयोग बड़े डेटा (iestructure, Unstructure और Semistructure data) को txt, csv जैसे फॉर्म फाइल फॉर्मेट में स्टोर करने के लिए कर रहे हैं।

2.अगर हम अपने डेटा में कॉलम अपडेट चाहते हैं तो हम Hbase टूल का उपयोग कर रहे हैं

3. हाइव के मामले में, हम बिग डेटा संग्रहीत कर रहे हैं जो संरचित प्रारूप में है और इसके अलावा हम उस डेटा पर विश्लेषण प्रदान कर रहे हैं।

4.Pig वह उपकरण है जो किसी भी प्रारूप (संरचना, सेमीस्ट्रक्चर और अनस्ट्रक्चर) में डेटा का विश्लेषण करने के लिए सुअर लैटिन भाषा का उपयोग कर रहा है।


0

सुअर में डेटा को साफ करना बहुत आसान है, एक उपयुक्त दृष्टिकोण सुअर के माध्यम से डेटा को साफ करना और फिर छत्ते के माध्यम से डेटा को संसाधित करना और बाद में इसे एचडीएफएस पर अपलोड करना होगा।


0

हाइव, HBase और सुअर का प्रयोग विभिन्न परियोजनाओं में मेरी वास्तविक समय अनुभव WRT।

छत्ता ज्यादातर के लिए प्रयोग किया जाता है:

  • विश्लेषिकी उद्देश्य जहां आपको इतिहास डेटा पर विश्लेषण करने की आवश्यकता है

  • कुछ कॉलम के आधार पर व्यावसायिक रिपोर्ट तैयार करना

  • मेटाडेटा जानकारी के साथ डेटा को कुशलता से प्रबंधित करना

  • कुछ स्तंभों पर तालिकाओं में शामिल होना जो बकेटिंग अवधारणा का उपयोग करके अक्सर किया जाता है

  • विभाजन अवधारणा का उपयोग करते हुए कुशल भंडारण और क्वेरी

  • लेन-देन / पंक्ति स्तर संचालन जैसे अद्यतन, हटाना आदि के लिए उपयोगी नहीं है।

सुअर के लिए ज्यादातर इस्तेमाल किया जाता है:

  • विशाल डेटा पर लगातार डेटा विश्लेषण

  • विशाल डेटा पर एकत्रित मान / गणना उत्पन्न करना

  • उद्यम स्तर प्रदर्शन के प्रमुख संकेतक जनरेट कर रहा है बहुत बार

Hbase का उपयोग ज्यादातर किया जाता है:

  • डेटा के वास्तविक समय प्रसंस्करण के लिए

  • कुशलतापूर्वक जटिल और नेस्टेड स्कीमा के प्रबंधन के लिए

  • वास्तविक समय की क्वेरी और तेज़ परिणाम के लिए

  • स्तंभों के साथ आसान स्केलेबिलिटी के लिए

  • लेन-देन / पंक्ति स्तर के संचालन के लिए उपयोगी जैसे अद्यतन, हटाना आदि।


0

इस प्रश्न का संक्षिप्त उत्तर है -

Hadoop - क्या फ्रेमवर्क है जो वितरित फ़ाइल सिस्टम और प्रोग्रामिंग मॉडल की सुविधा देता है जो हमें वितरित फैशन में विनम्र आकार के डेटा और प्रक्रिया डेटा को बहुत कुशलता से संग्रहीत करने और बहुत कम प्रसंस्करण समय के साथ पारंपरिक दृष्टिकोणों की तुलना करने की अनुमति देता है।

(HDFS - Hadoop डिस्ट्रिब्यूटेड फाइल सिस्टम) (मैप रिड्यूस - डिस्ट्रीब्यूटेड प्रोसेसिंग के लिए प्रोग्रामिंग मॉडल)

Hive - क्वेरी भाषा है जो फैशन की तरह एक बहुत लोकप्रिय SQL में Hadoop वितरित फ़ाइल सिस्टम से डेटा को पढ़ने / लिखने की अनुमति देता है। इसने कई गैर-प्रोग्रामिंग पृष्ठभूमि वाले लोगों के लिए जीवन को आसान बना दिया क्योंकि उन्हें बहुत जटिल परिदृश्यों को छोड़कर अब मैप-रिड्यूस प्रोग्राम लिखना नहीं पड़ता है जहां हाइव समर्थित नहीं है।

Hbase - Columnar NoSQL Database है। Hbase के लिए स्टोरेज परत को फिर से समझना HDFS है। इस डेटाबेस के लिए सबसे महत्वपूर्ण उपयोग मामला करोड़ों पंक्तियों के साथ अरबों पंक्तियों को संग्रहीत करने में सक्षम होना है। Hbase की कम विलंबता सुविधा वितरित डेटा पर रिकॉर्ड की तेज और यादृच्छिक पहुंच में मदद करती है, यह सिफारिशकर्ता इंजन जैसी जटिल परियोजनाओं के लिए उपयोगी बनाने के लिए बहुत महत्वपूर्ण विशेषता है। इसके अलावा यह रिकॉर्ड स्तर की संस्करण क्षमता है जो उपयोगकर्ता को व्यवहारिक डेटा को बहुत कुशलता से संग्रहीत करने की अनुमति देता है (यह हमारे पास एचडीएफएस और हाइव के साथ रिकॉर्ड करने की समस्या को हल करता है)

आशा है कि उपरोक्त 3 विशेषताओं को जल्दी से समझने में यह सहायक है।


0

मेरा मानना ​​है कि इस धागे ने विशेष रूप से HBase और Pig को विशेष रूप से न्याय नहीं दिया है। जबकि मेरा मानना ​​है कि Hadoop बड़े डेटा वाले झील कार्यान्वयन के लिए वितरित, लचीला फाइल-सिस्टम की पसंद है, HBase और Hive के बीच का चुनाव विशेष रूप से अच्छी तरह से अलग है।

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.