Apache Flume Tutorial: ट्विटर डेटा स्ट्रीमिंग



यह अपाचे फ्ल्यूम ट्यूटोरियल ब्लॉग अपाचे फ्लूम के मूल सिद्धांतों और इसकी विशेषताओं को बताता है। यह Apache Flume का उपयोग करके ट्विटर स्ट्रीमिंग का प्रदर्शन भी करेगा।

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

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





इस अपाचे फ्लुम ट्यूटोरियल ब्लॉग में, हम शामिल होंगे:



हम अपाचे फ्लुम के बारे में चर्चा करके इस फ्लूम ट्यूटोरियल की शुरुआत करेंगे। फिर आगे बढ़ते हुए, हम फ्लूम का उपयोग करने के फायदे समझेंगे।

अपाचे फ्ल्यूम ट्यूटोरियल: अपाचे फ्लुम का परिचय

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

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



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

एक ios डेवलपर क्या है

अपाचे फ्ल्यूम ट्यूटोरियल: अपाचे फ्लूम के फायदे

अपाचे फ्लूम के कई फायदे हैं जो इसे दूसरों पर बेहतर विकल्प बनाता है। लाभ हैं:

  • विभिन्न स्रोतों और सिंक के लिए फ्ल्यू स्केलेबल, विश्वसनीय, दोष सहिष्णु और अनुकूलन योग्य है।
  • अपाचे फ्लूम केंद्रीयकृत दुकानों में डेटा स्टोर कर सकता है (यानी डेटा एक ही स्टोर से आपूर्ति की जाती है) जैसे HBase & HDFS।
  • फ्लूम क्षैतिज रूप से स्केलेबल है।
  • यदि पढ़ने की दर लिखने की दर से अधिक है, तो फ्लूम पढ़ने और लिखने के संचालन के बीच डेटा का एक स्थिर प्रवाह प्रदान करता है।
  • फ्ल्यूम विश्वसनीय संदेश वितरण प्रदान करता है। फ्लूम में लेनदेन चैनल आधारित होते हैं, जहां प्रत्येक संदेश के लिए दो लेनदेन (एक प्रेषक और एक रिसीवर) बनाए जाते हैं।
  • Flume का उपयोग करके, हम Hadoop में कई सर्वरों से डेटा निगलना कर सकते हैं।
  • यह हमें एक समाधान देता है जो विश्वसनीय और वितरित है और हमें फेसबुक, ट्विटर और ई-कॉमर्स वेबसाइटों जैसी बड़ी मात्रा में डेटा सेट को इकट्ठा करने, एकत्र करने और स्थानांतरित करने में मदद करता है।
  • यह HDFS में नेटवर्क ट्रैफिक, सोशल मीडिया, ईमेल मैसेज, लॉग फाइल आदि जैसे विभिन्न स्रोतों से ऑनलाइन स्ट्रीमिंग डेटा को निगलना में हमारी मदद करता है।
  • यह स्रोतों और गंतव्य प्रकारों के एक बड़े सेट का समर्थन करता है।

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

अपाचे फ्ल्यूम ट्यूटोरियल: फ्ल्यूम आर्किटेक्चर

अब, नीचे दिए गए आरेख से फ्लूम की वास्तुकला को समझते हैं:

एक फ़्लुम एजेंट है जो विभिन्न डेटा स्रोतों से स्ट्रीमिंग डेटा को एचडीएफएस में शामिल करता है। आरेख से, आप आसानी से समझ सकते हैं कि वेब सर्वर डेटा स्रोत को इंगित करता है। ट्विटर डेटा स्ट्रीमिंग के लिए प्रसिद्ध स्रोतों में से एक है।

फ़्लूम एजेंट में 3 घटक होते हैं: स्रोत, सिंक और चैनल।

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

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

अपाचे फ्ल्यूम ट्यूटोरियल: ट्विटर डेटा स्ट्रीमिंग

इस प्रैक्टिकल में, हम TwitterU Flume से डेटा स्ट्रीम करेंगे और फिर HDFS में डेटा को स्टोर करेंगे जैसा कि नीचे की इमेज में दिखाया गया है।

पहला कदम ट्विटर एप्लिकेशन बनाना है। इसके लिए, आपको सबसे पहले इस url पर जाना होगा: https://apps.twitter.com/ और अपने ट्विटर अकाउंट पर साइन इन करें। नीचे दी गई छवि में दिखाए अनुसार एप्लिकेशन टैब बनाएं।

फिर, एक एप्लिकेशन बनाएं जैसा कि नीचे की छवि में दिखाया गया है।

इस एप्लिकेशन को बनाने के बाद, आपको की एंड एक्सेस टोकन मिलेगा। कुंजी और पहुँच टोकन की प्रतिलिपि बनाएँ। हम इस एप्लिकेशन से कनेक्ट करने के लिए अपनी फ़्लूक कॉन्फ़िगरेशन फ़ाइल में इन टोकन को पास करेंगे।

अब फ्लूम की रूट डायरेक्टरी में एक flume.conf फाइल बनाएं जैसा कि नीचे की इमेज में दिखाया गया है। जैसा कि हमने चर्चा की, फ़्लूम आर्किटेक्चर में, हम अपने स्रोत, सिंक और चैनल को कॉन्फ़िगर करेंगे। हमारा सोर्स ट्विटर है, जहां से हम डेटा स्ट्रीम कर रहे हैं और हमारा सिंक एचडीएफएस है, जहां हम डेटा लिख ​​रहे हैं।

स्रोत कॉन्फ़िगरेशन में हम ट्विटर स्रोत प्रकार को पारित कर रहे हैं org.apache.flume.source.twitter.TwitterSource। फिर, हम उन सभी चार टोकनों को पारित कर रहे हैं जो हमें ट्विटर से प्राप्त हुए हैं। स्रोत कॉन्फ़िगरेशन में अंत में हम उन कीवर्ड को पास कर रहे हैं जिन पर हम ट्वीट लाने जा रहे हैं।

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

अब हम निष्पादन के लिए तैयार हैं। आइए हम आगे बढ़ें और इस कमांड को निष्पादित करें:

$ FLUME_HOME / bin / flume-ng एजेंट --conf ./conf/ -f $ FLUME_HOME / flume.conf

थोड़ी देर के लिए इस कमांड को निष्पादित करने के बाद, और फिर आप CTRL + C का उपयोग करके टर्मिनल से बाहर निकल सकते हैं। फिर आप अपनी Hadoop डायरेक्टरी में आगे बढ़ सकते हैं और बताए गए रास्ते की जांच कर सकते हैं कि फाइल बनाई गई है या नहीं।

सेल्सफोर्स सर्विस क्लाउड क्या है

फ़ाइल डाउनलोड करें और इसे खोलें। आपको निचे इमेज में दिखाए अनुसार कुछ मिलेगा।

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

अब जब आप अपाचे फ्लूम को समझ गए हैं, तो देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। Edureka Big Data Hadoop सर्टिफिकेशन ट्रेनिंग कोर्स शिक्षार्थियों को रिटेल, सोशल मीडिया, एविएशन, टूरिज्म, फाइनेंस डोमेन पर रियल-टाइम उपयोग के मामलों का उपयोग करके HDFS, यार्न, MapReduce, Pig, Hive, HBase, Oozie, Flume और Sqoop में निपुण बनने में मदद करता है।

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