स्पार्क का परिचय पायथन के साथ - शुरुआती के लिए PySpark



अपाचे स्पार्क ने बिग डेटा एंड एनालिटिक्स की दुनिया को संभाला है और पायथन आज उद्योग में उपयोग की जाने वाली सबसे सुलभ प्रोग्रामिंग भाषा है। तो यहाँ इस ब्लॉग में, हम दोनों दुनिया से सर्वश्रेष्ठ पाने के लिए Pyspark (अजगर के साथ चिंगारी) के बारे में सीखेंगे।

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

अपाचे स्पार्क डेवलपर के लिए $ 110,000 के औसत वेतन के साथ, इसमें कोई संदेह नहीं है कि स्पार्क का उद्योग में बहुत अधिक उपयोग किया जाता है। वजह सेआईटी इससमृद्ध पुस्तकालय सेट, पायथन द्वारा उपयोग किया जाता हैआज अधिकांश डेटा वैज्ञानिक और विश्लेषिकी विशेषज्ञ। स्पार्क के साथ अजगर को एकीकृत करना समुदाय के लिए एक प्रमुख उपहार था। स्पार्क को स्काला भाषा में विकसित किया गया था, जो जावा के समान है। यह प्रोग्राम कोड को बाइटकोड में जेवीएम के लिए स्पार्क बिग डेटा प्रोसेसिंग के लिए संकलित करता है। अजगर के साथ स्पार्क का समर्थन करने के लिए, अपाचे स्पार्क समुदाय ने पायस्पार्क जारी किया।तब से, इस उद्योग में सबसे अधिक मांग वाले कौशलों में से एक के रूप में जाना जाता है, जो कि दोनों दुनिया के सर्वश्रेष्ठ के संयोजन के बाद मिलने वाले लाभों की एक विस्तृत श्रृंखला के कारण है।पायथन ब्लॉग वाले इस स्पार्क में, मैं निम्नलिखित विषयों पर चर्चा करूंगा।





अपाचे स्पार्क का परिचय

Apache Spark एक ओपन-सोर्स क्लस्टर-कंप्यूटिंग फ्रेमवर्क है वास्तविक समय प्रसंस्करण Apache Software Foundation द्वारा विकसित। स्पार्क निहित के साथ पूरे समूहों को प्रोग्रामिंग के लिए एक इंटरफ़ेस प्रदान करता है डेटा समानता तथा दोष सहिष्णुता।



नीचे अपाचे स्पार्क की कुछ विशेषताएं दी गई हैं जो इसे अन्य रूपरेखाओं पर बढ़त देती है:

स्पार्क फीचर्स - स्पार्क विद पायथन - एडुर्का

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

पाइथन के लिए क्यों जाएं?

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



प्रोग्रामर के लिए पायथन है तुलनात्मक रूप से आसान है जानने के लिए इसके सिंटैक्स और मानक पुस्तकालयों के कारण। इसके अलावा, यह एक है गतिशील रूप से टाइप की गई भाषा, जिसका अर्थ है RDD कई प्रकार की वस्तुओं को धारण कर सकता है।

हालांकि स्काला है स्पार्कएमलिब यह नहीं है मशीन लर्निंग और एनएलपी के लिए पर्याप्त पुस्तकालय और उपकरण उद्देश्य। इसके अलावा, स्काला में डेटा विज़ुअलाइज़ेशन का अभाव है।

PySpark प्रशिक्षण | अजगर के साथ अपाचे स्पार्क | Edureka

नए अपडेट पाने के लिए हमारे youtube चैनल को सब्सक्राइब करें ..!

अजगर (PySpark) के साथ स्पार्क की स्थापना

मुझे उम्मीद है कि आप लोग जानते होंगे कि कैसे ।इसलिए, एक बार जब आप अनजाने में स्पार्क फ़ाइल, स्थापित किया गया इसे और इसके लिए पथ जोड़ा गया .bashrc फ़ाइल, आपको टाइप करना हैsource .bashrc

__अपने आप में)
निर्यात SPARK_HOME = /usr/lib/hadoop/spark-2.1.0-bin-hadoop2.7 निर्यात पथ = $ पथ: /us/lib/hadoop/spark-2.1.0-bin/hadup2.7/bin

Pyspark खोल खोलने के लिए आपको कमांड में टाइप करना होगा./bin/pyspark

उद्योग में स्पार्क

अपाचे स्पार्क की वजह से यह अद्भुत सुविधाओं की तरह है स्मृति प्रसंस्करण में , बहुवचन तथा तेजी से प्रसंस्करण विभिन्न उद्योगों में विभिन्न प्रयोजनों के लिए दुनिया भर में कई कंपनियों द्वारा उपयोग किया जा रहा है:

याहू अपने मशीन लर्निंग क्षमताओं के लिए अपाचे स्पार्क का उपयोग अपने समाचार, वेब पेज और लक्ष्य विज्ञापन के लिए निजीकृत करने के लिए करता है। वे स्पार्क का उपयोग अजगर के साथ करते हैं ताकि यह पता लगाया जा सके कि प्रत्येक समाचार को पढ़ने के लिए उपयोगकर्ताओं को किस प्रकार के समाचार पढ़ने में रुचि होगी, यह जानने के लिए उपयोगकर्ता समाचारों को पढ़ने और श्रेणीबद्ध करने में रुचि रखते हैं।

TripAdvisor अपने ग्राहकों के लिए सर्वोत्तम होटल मूल्य खोजने के लिए सैकड़ों वेबसाइटों की तुलना करके लाखों यात्रियों को सलाह प्रदान करने के लिए अपाचे स्पार्क का उपयोग करता है। एक पठनीय प्रारूप में होटलों की समीक्षाओं को पढ़ने और संसाधित करने में लगने वाला समय अपाचे स्पार्क की मदद से किया जाता है।

दुनिया के सबसे बड़े ई-कॉमर्स प्लेटफॉर्म में से एक अलीबाबा अपने ई-कॉमर्स प्लेटफॉर्म पर सैकड़ों पेटाबाइट डेटा का विश्लेषण करने के लिए दुनिया में कुछ सबसे बड़ी अपाचे स्पार्क नौकरियां चलाता है।

PySpark SparkContext और Data Flow

स्पार्क के बारे में पाइथन के साथ बात करना, RDDs के साथ काम करना लाइब्रेरी Py4j द्वारा संभव है। PySpark Shell Python API को स्पार्क कोर से जोड़ता है और स्पार्क कॉन्सेप्ट को इनिशियलाइज़ करता है। स्पार्क प्रसंग किसी भी स्पार्क एप्लिकेशन का दिल है।

  1. स्पार्क संदर्भ आंतरिक सेवाओं की स्थापना करता है और स्पार्क निष्पादन पर्यावरण के लिए एक संबंध स्थापित करता है।
  2. ड्राइवर प्रोग्राम में स्पार्ककनेक्ट ऑब्जेक्ट सभी वितरित प्रक्रिया का समन्वय करता है और संसाधन आवंटन की अनुमति देता है।
  3. क्लस्टर मैनेजर एक्जिक्यूटर्स प्रदान करते हैं, जो तर्क के साथ जेवीएम प्रक्रिया है।
  4. SparkContext ऑब्जेक्ट एप्लिकेशन को निष्पादकों को भेजता है।
  5. SparkContext प्रत्येक निष्पादक में कार्य निष्पादित करता है।

PySpark KDD उपयोग मामला

अब Let’s की एक नज़र केस के उपयोग पर है KDD’99 कप (अंतर्राष्ट्रीय ज्ञान डिस्कवरी और डेटा खनन उपकरण प्रतियोगिता) का है।यहां हम डेटासेट का एक अंश लेंगे क्योंकि मूल डेटासेट बहुत बड़ा है

आयात urllib f = urllib.urlretrieve ('http://kdd.ics.uci.edu/dat डेटाबेस/kddcup99/kddcup.data_10_percent.gz', 'kdddd.data_10_percent.gz')

सृजन आरडीडी:
अब हम इस फाइल का उपयोग कर सकते हैं हमारे RDD बनाएँ

data_file = './kddcup.data_10_percent.gz' raw_data = sc.textFile (data_file)

फ़िल्टरिंग:

मान लीजिए कि हम गिनना चाहते हैं कि कितने सामान्य हैं। हमारे डेटासेट में हमारी सहभागिता होती है। वे कैन फ़िल्टर करें हमारे कच्चे_डेटा आरडीडी निम्नानुसार हैं।

normal_raw_data = raw_data.filter (lambda x: 'normal।' in x)

COUNT:

अब हम कर सकते हैं गिनती नए RDD में कितने तत्व हैं।

समय से आयात समय t0 = समय () normal_count = normal_raw_data.count () tt = time () - t0 प्रिंट 'वहाँ {}' सामान्य 'इंटरैक्शन हैं। सुधार (normal_count) प्रिंट {} seconds'form.format में पूरा किया गया (गोल (टीटी, 3))

आउटपुट:

5.951 सेकंड में 97278 'सामान्य' इंटरैक्शन काउंट पूरे हुए

मैपिंग:

इसमेंमामलाहम अपनी डेटा फ़ाइल को एक CSV स्वरूपित के रूप में पढ़ना चाहते हैं। हम निम्नानुसार RDD में प्रत्येक तत्व के लिए एक लैम्ब्डा फ़ंक्शन लागू करके ऐसा कर सकते हैं। यहां हम इसका उपयोग करेंगे नक्शा () और ले () परिवर्तन।

pprint आयात से pprint csv_data = raw_data.map (lambda x: x.split (',')) t0 = time () head_rows = csv_data.take (5) t = = () - t0 प्रिंट 'Parse {}} सेकंड में पूरा हुआ। '.फॉर्मट (गोल (tt, 3)) प्रिंट (हेड_रो [0])

आउटपुट:

पार्स 1.715 सेकंड [u'0 ', u'tcp', u'http ', u'SF', u'181 ', u'5450', u'0 ', u'0' में पूरा हुआ। । u'normal। ']

स्प्लिटिंग:

अब हम RDD में प्रत्येक तत्व को एक कुंजी-मूल्य जोड़ी के रूप में रखना चाहते हैं जहां कुंजी टैग है (उदा। सामान्य ) और मान CSV स्वरूपित फ़ाइल में पंक्ति का प्रतिनिधित्व करने वाले तत्वों की पूरी सूची है। हम इस प्रकार आगे बढ़ सकते हैं। यहां हम उपयोग करते हैं line.split () और मैप ()।

def parse_interaction (लाइन): elems = line.split (',') tag = elems [41] return (टैग, elems) key_csv_data = raw_data.map (parse_interaction) head_rows = key_csv_data.take (5) pprint (head_rows 0) )
 आउटपुट: (u'normal। ', [u'0', u'tcp ', u'http', u'SF ', u'181', u'5450 ', u'0', u'0 ', u') 0.00 ', u'1.00', .... असामान्य ''])

संकलन अधिनियम:

यहां हम एकत्रित () क्रिया का उपयोग करने जा रहे हैं। यह RDD के सभी तत्वों को मेमोरी में प्राप्त करेगा। इस कारण से, बड़े RDD के साथ काम करते समय इसका उपयोग सावधानी से किया जाना चाहिए।

t0 = time () all_raw_data = raw_data.collect () tt = time () - t0 प्रिंट 'डेटा {} सेकंड में एकत्र किया गया है। सुधार (गोल (tt, 3))

आउटपुट:

डेटा 17.927 सेकंड में एकत्र किया गया

इससे पहले कि हम किसी भी अन्य कार्रवाई के रूप में लंबे समय तक ले लिया, ज़ाहिर है। प्रत्येक स्पार्क वर्कर नोड जिसके पास RDD का एक टुकड़ा है, को इसके भाग को पुनः प्राप्त करने के लिए समन्वित किया जाना है और फिर सब कुछ एक साथ कम करना है।

पिछले सभी को मिलाकर एक अंतिम उदाहरण के रूप में, हम सभी को एकत्र करना चाहते हैंसामान्यमुख्य-मूल्य जोड़े के रूप में बातचीत।

# फ़ाइल data_file = 'से डेटा प्राप्त करें। #kddcup.data_10_percent.gz' raw_data = sc.textFile (data_file) # parse को-वैल्यू जोड़े में key_csv -data = raw_data.map (parse_interaction) # फ़िल्टर सामान्य कुंजी बातचीत normal_key_interpret = कुंजी कुंजी lambda x: x [0] == 'normal।') # इकट्ठा सभी t0 = समय () all_normal = normal_key_interactions.collect () tt = time () - t0 normal_count = len (all_normal) प्रिंट 'डेटा {{} सेकंड में एकत्र हुआ। '.format (राउंड (tt, 3)) प्रिंट' वहाँ {} 'सामान्य' अंतःक्रियाएं हैं ।format (normalccc)

आउटपुट:

12.485 सेकंड में एकत्र किए गए डेटा में 97278 सामान्य इंटरैक्शन हैं

तो यह बात है, दोस्तों!

मुझे उम्मीद है कि आप पायथन ब्लॉग के साथ इस स्पार्क का आनंद लेंगे। अगर आप इसे पढ़ रहे हैं, बधाई हो! अब आप PySpark के लिए एक नौसिखिया नहीं हैं। अपने सिस्टम पर अब इस सरल उदाहरण को आज़माएं

अब जब आप PySpark की मूल बातें समझ गए हैं, तो देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। एडुर्का की पाइस्पार्क का उपयोग करके पायथन स्पार्क प्रमाणन प्रशिक्षण आपको ज्ञान और कौशल प्रदान करने के लिए डिज़ाइन किया गया है जो कि पायथन का उपयोग करके एक सफल स्पार्क डेवलपर बनने के लिए आवश्यक हैं और आपको क्लाउडराडो हडोप और स्पार्क डेवलपर प्रमाणन परीक्षा (CCA175) के लिए तैयार करते हैं।

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