कुबेरनेट्स पर डेटा साइंस के साथ शुरुआत करना - ज्यूपिटर और ज़ेपेलिन

यह कोई रहस्य नहीं है कि डेटा एनालिटिक्स समुदाय अधिक ओपन-सोर्स और क्लाउड-आधारित टूल का उपयोग करने की ओर बढ़ रहा है। अपाचे ज़ेपेलिन और ज्यूपिटर नोटबुक आज डेटा वैज्ञानिकों द्वारा उपयोग किए जाने वाले दो सबसे लोकप्रिय उपकरण हैं। इस ब्लॉग पोस्ट में, हम आपको दिखाएंगे कि इन नोटबुक्स के साथ इलम को आसानी से कैसे एकीकृत किया जाए ताकि आप k8s पर अपना डेटा एनालिटिक्स वर्कलोड चला सकें।
डेटा साइंस के लिए कुबेरनेट्स
बड़े डेटा और डेटा-गहन अनुप्रयोगों के उदय के साथ, डेटा विज्ञान वर्कलोड का प्रबंधन और तैनाती तेजी से जटिल हो गई है। यह वह जगह है जहां कुबेरनेट्स आता है, क्योंकि यह ज्यूपिटर और ज़ेपेलिन जैसे इंटरैक्टिव कंप्यूटिंग प्लेटफॉर्म चलाने के लिए एक स्केलेबल और लचीला मंच प्रदान करता है।
डेटा साइंस समुदाय लंबे समय से ज्यूपिटर नोटबुक का उपयोग कर रहा है। लेकिन कुबेरनेट्स पर डेटा विज्ञान चलाने के बारे में क्या? क्या हम k8s पर ज्यूपिटर नोटबुक का उपयोग कर सकते हैं? इसका जवाब है हाँ! यह ब्लॉग पोस्ट आपको दिखाएगा कि कुबेरनेट्स पर डेटा साइंस को ज्यूपिटर नोटबुक और ज़ेपेलिन के साथ कैसे चलाया जाए।
हम गणना को बढ़ावा देने के लिए अपाचे स्पार्क और इलम इंटरैक्टिव सत्रों का उपयोग करेंगे। इंटरैक्टिव सत्र सुविधा आपको स्पार्क कोड जमा करने और वास्तविक समय में परिणाम देखने की अनुमति देती है। यह डेटा का पता लगाने और विभिन्न एल्गोरिदम आज़माने का एक शानदार तरीका है। अपाचे स्पार्क के साथ, आप आसानी से बड़ी मात्रा में डेटा संसाधित कर सकते हैं, और इलम की इंटरैक्टिव सत्र सुविधा विभिन्न कोड स्निपेट को आज़माना और तुरंत परिणाम देखना आसान बनाती है।
इलम, अपाचे लिवी और स्पार्कमैजिक
इलम को डेटा वैज्ञानिकों और इंजीनियरों के लिए कुबेरनेट्स पर स्पार्क चलाना आसान बनाने के लिए बनाया गया था। हमारा मानना है कि उस प्रक्रिया को सरल बनाकर, हम उपयोगकर्ताओं के लिए इन तकनीकों के साथ शुरुआत करना आसान बना सकते हैं और डेटा साइंस समुदाय के भीतर k8s को अपनाना बढ़ा सकते हैं।
इलम लिवी रेस्ट इंटरफ़ेस को लागू करता है, इसलिए इसका उपयोग इस प्रकार किया जा सकता है अपाचे लिवी के लिए एक प्रतिस्थापन किसी भी वातावरण में। हम दिखाएंगे कि इलम को स्पार्कमैजिक के साथ कैसे एकीकृत किया जाए।
इलम और लिवी दोनों लंबे समय तक चलने वाले स्पार्क संदर्भों को लॉन्च कर सकते हैं जिनका उपयोग कई ग्राहकों द्वारा कई स्पार्क नौकरियों के लिए किया जा सकता है। हालाँकि, दोनों के बीच कुछ महत्वपूर्ण अंतर हैं।
Ilum अच्छी तरह से बनाए रखा और सक्रिय रूप से विकसित सॉफ्टवेयर है, जो नए पुस्तकालयों और सुविधाओं के साथ अद्यतन किया गया है। दूसरी ओर, लिवी के पास एक मजबूत समुदाय है जिसने कई अनुप्रयोगों के साथ एकीकरण बनाया है। दुर्भाग्य से, लिवी का विकास रुक गया है और इस वजह से लिवी क्लाउड नेटिव परिवर्तन के लिए तैयार नहीं है।
इलम आसानी से ऊपर और नीचे स्केल कर सकता है और अत्यधिक उपलब्ध है। लिवी पर इलम का एक बड़ा फायदा यह है कि यह कुबेरनेट्स पर काम करता है। यह के साथ एकीकरण की भी अनुमति देता है धागा .
दोनों उपकरण स्पार्क क्लस्टर और स्पार्क अनुप्रयोगों की निगरानी के लिए उपयोग में आसान वेब इंटरफ़ेस प्रदान करते हैं, लेकिन लिवी पुराना और बहुत सीमित लगता है।
तो, हमें इलम और लिवी का पूरा फायदा क्यों नहीं उठाना चाहिए?
इलम-लिवी-प्रॉक्सी
इलम में एक एम्बेडेड घटक है जो लिवी एपीआई को लागू करता है। यह उपयोगकर्ताओं को लिवी के आरईएसटी इंटरफ़ेस और इलम इंजन का एक साथ लाभ उठाने की अनुमति देता है।
हम जोड़ने के लिए कड़ी मेहनत कर रहे हैं अजगर इलम को समर्थन, मौजूदा के अलावा स्काला जीविका। हमारे पर नजर रखें रोडमैप हमारी प्रगति के साथ अद्यतित रहने के लिए।
ज़ेपेलिन और ज्यूपिटर
Zeppelin और Jupyter वेब-आधारित नोटबुक हैं जो विभिन्न भाषाओं के साथ इंटरैक्टिव डेटा एनालिटिक्स और सहयोगी दस्तावेज़ निर्माण को सक्षम करते हैं।
ज्यूपिटर नोटबुक पायथन उपयोगकर्ताओं के बीच विशेष रूप से लोकप्रिय हैं। परियोजना आईपीथॉन पर्यावरण से विकसित हुई है लेकिन अब कई भाषाओं के लिए समर्थन का दावा करती है।

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

आप Zeppelin द्वारा समर्थित दुभाषियों की एक सूची देख सकते हैं यहाँ
इलम के साथ नोटबुक को एकीकृत करना
सेटअप इलम
आइए कुबेरनेट्स पर अपाचे स्पार्क क्लस्टर लॉन्च करके शुरू करें। इलम के साथ, ऐसा करना बहुत आसान है। हम इस लेख के उद्देश्य के लिए मिनिक्यूब का उपयोग करेंगे। पहली चीज जो हमें करनी है वह है कुबेरनेट्स क्लस्टर चलाना:
minikube start --cpus 4 --memory 12288 --addons metrics-server
एक बार मिनिक्यूब चलने के बाद, हम इलम की स्थापना के लिए आगे बढ़ सकते हैं। सबसे पहले, आइए एक हेल्म चार्ट रिपॉजिटरी जोड़ें:
हेल्म रेपो जोड़ें ilum https://charts.ilum.cloud
इलम में ज़ेपेलिन और ज्यूपिटर दोनों शामिल हैं, लेकिन उन्हें इलम-लिवी-प्रॉक्सी के साथ इंस्टॉलेशन सेटिंग्स में मैन्युअल रूप से सक्षम किया जाना चाहिए।
हेल्म इंस्टॉल इलम इलम इलम / इलम --सेट इलम-ज़ेपेलिन.सक्षम = ट्रू --सेट इलम-ज्यूपिटर.सक्षम = ट्रू --सेट इलम-लिवी-प्रॉक्सी.सक्षम = सत्य
सभी पॉड्स को इनिशियलाइज़ करने में कुछ समय लग सकता है। आप कमांड के साथ स्थिति की जांच कर सकते हैं:
Kubectl फली प्राप्त करें

बृहस्पति
चलो इसके साथ शुरू करते हैं:
Kubectl पोर्ट-फॉरवर्ड SVC/ILUM-ज्यूपिटर 8888:8888
इलम ज्यूपिटर नोटबुक में अपाचे स्पार्क के साथ काम करने के लिए स्पार्कमैजिक का उपयोग करता है। डिफ़ॉल्ट रूप से, ज्यूपिटर (स्पार्कमैजिक लिब स्थापित होने के साथ) पोर्ट 8888 पर चलेगा। सर्वर तक पहुंचने के लिए, अपना ब्राउज़र खोलें और लोकलहोस्ट: 8888 पर जाएं। आपको लॉग से पासवर्ड के साथ लॉग इन करना होगा, या आप डोमेन के लिए प्रतिस्थापित "लोकलहोस्ट" के साथ पूरे यूआरएल को कॉपी और पेस्ट कर सकते हैं।
Kubectl लॉग ILUM-Jupyter-85F6D9BFB8-T642D

एक बार ज्यूपिटर खुलने के बाद, हमें पायथन 3 नोटबुक लॉन्च करना होगा:

आइए अब स्पार्क मैजिक लोड करने और एंडपॉइंट सेट करने के लिए निम्नलिखित कमांड चलाएं।
1. सबसे पहले, हमें स्पार्क मैजिक एक्सटेंशन लोड करना होगा। आप निम्न आदेश चलाकर ऐसा कर सकते हैं:
%load_ext स्पार्कमैजिक.मैजिक
2. इसके बाद, हमें एक एंडपॉइंट सेट करना होगा। एक समापन बिंदु केवल एक URL है जो एक विशिष्ट स्पार्क क्लस्टर को इंगित करता है। आप निम्न आदेश चलाकर ऐसा कर सकते हैं:
%manage_spark

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

अब आप इसके खिलाफ स्पार्क कोड चलाने के लिए अपने इलम सत्र का उपयोग कर सकते हैं। आपके द्वारा सत्र को असाइन किया गया नाम %%स्पार्क जादू कोड चलाने के लिए।

अपाचे टसेपेल्लिन
चलो इसके साथ शुरू करते हैं:
Kubectl पोर्ट-फॉरवर्ड SVC/Ilum-Zeppelin 8080:8080
ज्यूपिटर के समान, हमने Zeppelin नोटबुक को भी Ilum के साथ बंडल किया। कृपया ध्यान रखें कि छवि के आकार में वृद्धि के कारण कंटेनर निर्माण का समय बढ़ाया जा सकता है। कंटेनर बनने और चलने के बाद, आप http://localhost:8080 पर अपने ब्राउज़र में Zeppelin नोटबुक तक पहुंच पाएंगे।
- कोड निष्पादित करने के लिए, हमें एक नोट बनाने की आवश्यकता है:

2. चूंकि इलम के साथ संचार लिवी-प्रॉक्सी के माध्यम से नियंत्रित किया जाता है, इसलिए हमें डिफ़ॉल्ट दुभाषिया के रूप में लिवी चुनने की आवश्यकता है।

3. अब नोट खोलें और पैराग्राफ में कुछ कोड डालें:

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

दुभाषियों और उनके गुणों की एक लंबी सूची है जिन्हें अनुकूलित किया जा सकता है।

Zeppelin दुभाषिया प्रक्रिया को चलाने के लिए 3 अलग-अलग मोड प्रदान करता है: साझा, स्कोप्ड और आइसोलेटेड। आप दुभाषिया बाइंडिंग मोड के बारे में अधिक जान सकते हैं यहाँ .
ज्यूपिटर और ज़ेपेलिन डेटा विज्ञान के लिए दो सबसे लोकप्रिय उपकरण हैं, और वे अब k8s पर उपलब्ध हैं। इसका मतलब है कि डेटा वैज्ञानिक अब अपने डेटा विज्ञान अनुप्रयोगों को प्रबंधित और तैनात करने के लिए कुबेरनेट्स का उपयोग कर सकते हैं।
इलम डेटा वैज्ञानिकों के लिए कुछ फायदे प्रदान करता है जो ज्यूपिटर और ज़ेपेलिन का उपयोग करते हैं। सबसे पहले, इलम ज्यूपिटर और ज़ेपेलिन के लिए एक प्रबंधित वातावरण प्रदान कर सकता है। इसका मतलब यह है कि डेटा वैज्ञानिकों को अपने स्वयं के कुबेरनेट्स क्लस्टर के प्रबंधन के बारे में चिंता करने की ज़रूरत नहीं है। दूसरा, इलम कुबेरनेट्स पर डेटा विज्ञान के साथ आरंभ करने का एक आसान तरीका प्रदान करता है। इलम के साथ, डेटा वैज्ञानिक बस एक ज्यूपिटर या ज़ेपेलिन उदाहरण लॉन्च कर सकते हैं और अपने डेटा की खोज शुरू कर सकते हैं।
इसलिए यदि आप एक डेटा वैज्ञानिक हैं जो कुबेरनेट्स पर डेटा विज्ञान के साथ शुरुआत करना चाहते हैं, तो इलम देखें। इलम के साथ, आप अपने स्वयं के कुबेरनेट्स क्लस्टर के प्रबंधन के बारे में चिंता किए बिना, जल्दी और आसानी से शुरुआत कर सकते हैं।
कुल मिलाकर, कुबेरनेट्स पर डेटा विज्ञान किसी के वर्कफ़्लो को बेहतर बनाने और अधिक सहयोग की अनुमति देने का एक शानदार तरीका हो सकता है। हालांकि, सिस्टम की बुनियादी समझ के साथ शुरुआत करना महत्वपूर्ण है और बहुत गहराई में गोता लगाने से पहले यह कैसे काम करता है। इसके साथ ही, कुबेरनेट्स पर डेटा साइंस के साथ शुरुआत करने में मदद करने के लिए ज्यूपिटर और ज़ेपेलिन दो बेहतरीन टूल हैं।

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