सुअर में एक गहरा गोता



यह ब्लॉग पोस्ट पिग और उसके कार्यों में एक गहरा गोता है। आप जावा पर कोई निर्भरता के साथ सुअर का उपयोग करके हाडोप पर कैसे काम कर सकते हैं, इसका डेमो मिलेगा।

हाल के दिनों में आसमान छूती लोकप्रियता के सबसे बड़े कारणों में से एक तथ्य यह है कि सुअर और हाइव जैसी विशेषताएं इसके शीर्ष पर चलती हैं जो गैर-प्रोग्रामर को कार्यक्षमता के साथ अनुमति देती हैं जो पहले जावा प्रोग्रामर के लिए अनन्य थी। ये विशेषताएं Hadoop पेशेवरों की बढ़ती मांग का परिणाम थीं। अन्य विशेषताएं जो गैर-जावा पृष्ठभूमि से Hadoop पेशेवरों द्वारा उपयोग की जाती हैं, वे हैं Flume, Sqoop, HBase और Oozie।





यह समझने के लिए कि आपको Hadoop सीखने के लिए Java की आवश्यकता क्यों नहीं है, जाँच करें यह ब्लॉग

1Pig का इतिहास



आइए समझते हैं कि ये सुविधाएँ कैसे काम करती हैं।

हम सभी जानते हैं कि MapReduce कोड लिखने के लिए प्रोग्रामिंग ज्ञान आवश्यक है। लेकिन क्या होगा अगर मेरे पास एक उपकरण है जो कोडिंग कर सकता है अगर मैं सिर्फ विवरण प्रदान करूं? यही वह जगह है जहां सुअर अपनी मांसपेशियों की शक्ति का प्रदर्शन करता है। Pig, Pig Latin नामक एक प्लेटफ़ॉर्म का उपयोग करता है, जो Java MapReduce मुहावरे से प्रोग्रामिंग को एक नोटेशन में सार करता है जो MapReduce प्रोग्रामिंग को उच्च स्तर पर बनाता है, जो RDBMS सिस्टम के लिए SQL के समान है। पिग लैटिन मेप्रेड्यूस में लिखे कोड स्वचालित रूप से समतुल्य MapReduce फ़ंक्शन में परिवर्तित हो जाते हैं। क्या वह भयानक नहीं है? एक और माइंड-ब्लोइंग तथ्य यह है कि जावा की 200 लाइनों को बदलने के लिए केवल 10 लाइनों की सुअर की आवश्यकता होती है।



सुअर की 10 लाइनें = जावा की 200 लाइनें

इसका मतलब यह नहीं है कि गैर-जावा पेशेवर Hadoop का उपयोग करते हैं, बल्कि यह रेखांकित करने वाले तथ्य की भी पुष्टि करते हैं कि सुअर का उपयोग तकनीकी डेवलपर्स के बराबर संख्या में किया जाता है।

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

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

मुझे आपको क्लिकस्ट्रीम डेटा सेट पर सुअर का उपयोग करके एक डेमो दिखाते हैं
हम इस क्लिकस्ट्रीम डेटा का उपयोग करेंगे और ट्रांसफॉर्मेशन, जॉइन और ग्रुपिंग करेंगे।

क्लिकस्ट्रीम एक उपयोगकर्ता द्वारा किए गए माउस क्लिकों की एक श्रृंखला है जो विशेष रूप से इंटरनेट के उपयोग के लिए विपणन उद्देश्यों के लिए किसी व्यक्ति के हितों का आकलन करने के लिए निगरानी की जाती है। यह मुख्य रूप से फ्लिपकार्ट और अमेज़ॅन जैसी ऑनलाइन खुदरा वेबसाइटों द्वारा उपयोग किया जाता है जो सिफारिशों को उत्पन्न करने के लिए आपकी गतिविधियों को ट्रैक करते हैं। क्लिकस्ट्रीम डेटा सेट जिसका हमने उपयोग किया है, उसके निम्नलिखित क्षेत्र हैं:

1. वेब एप्लिकेशन द्वारा समर्थित भाषा का प्रकार

2. ब्राउज़र प्रकार

java में charat क्या है

3. कनेक्शन प्रकार

4. देश की आईडी

5. टाइम स्टैम्प

अजगर __init__ स्व

6. यूआरएल

7. उपयोगकर्ता की स्थिति

8. उपयोगकर्ता का प्रकार

यह उचित क्षेत्रों के साथ इस तरह दिखेगा।

नीचे ब्राउज़र प्रकारों की सूची दी गई है जो किसी विशेष वेबसाइट पर सर्फिंग करते समय विभिन्न लोगों द्वारा उपयोग किए गए हैं। सूची में इंटरनेट एक्सप्लोरर, गूगल क्रोम, लिंक्स आदि जैसे ब्राउज़र हैं।

इंटरनेट कनेक्शन प्रकार लैन / मोडेम / वाईफ़ाई हो सकता है। पूरी सूची के लिए नीचे दी गई छवि देखें:

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

एक बार जब हम सभी डेटा सेट एकत्र कर लेते हैं, तो हमें पिग के ग्रंट शेल को लॉन्च करना होगा, जिसे पिग कमांड चलाने के लिए लॉन्च किया गया है।

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

हम click_stream कमांड के द्वारा संबंध के स्कीमा को सत्यापित कर सकते हैं।

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

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

अजगर __in__

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

हम बिग डेटा को ट्रिम करने के लिए फ़िल्टर ऑपरेशन कर सकते हैं। विभिन्न प्रकार के उपयोगकर्ता प्रशासक, अतिथि या बॉट हैं। हमारे डेमो में, मैंने मेहमानों के लिए सूची को फ़िल्टर किया है।

यदि आपको याद है, कंट्री आईडी क्लिकस्ट्रीम में मौजूद है और हमने एक देश_ref फ़ाइल लोड की है जिसमें देशों के नाम के साथ आईडी भी हैं। इस प्रकार हम दो फ़ाइलों के बीच एक ज्वाइन ऑपरेशन कर सकते हैं और इनसाइट्स को प्राप्त करने के लिए डेटा को मर्ज कर सकते हैं।

यदि हम डेटा में शामिल हो गए हैं, तो हम उन विभिन्न देशों का पता लगा सकते हैं जहां से उपयोगकर्ता ग्रुपिंग द्वारा हैं। एक बार जब हमारे पास यह डेटा होता है, तो हम किसी विशेष देश के उपयोगकर्ताओं की संख्या की पहचान करने के लिए एक काउंट ऑपरेशन कर सकते हैं।

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

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

संबंधित पोस्ट:

R और Hadoop को एक साथ उपयोग करने के 4 तरीके

Apache Hadoop के लिए Cloudera प्रमाणित डेवलपर के बारे में सब कुछ