PySpark Tutorial - जानें Apache Spark Python का उपयोग करना

PySpark Tutorial पर इस ब्लॉग में, आप पीएसपीआर एपीआई के बारे में जानेंगे जो कि पायथन प्रोग्राम भाषा का उपयोग करते हुए अपाचे स्पार्क के साथ काम करने के लिए उपयोग किया जाता है।

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





PySpark ट्यूटोरियल: PySpark क्या है?

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

PySpark विशेषताएं - PySpark ट्यूटोरियल - एडुर्का



मूल रूप से स्काला प्रोग्रामिंग भाषा में लिखा गया है, ओपन सोर्स समुदाय ने अपाचे स्पार्क के लिए पायथन का समर्थन करने के लिए एक अद्भुत उपकरण विकसित किया है। PySpark अपनी लाइब्रेरी के माध्यम से Apache Spark और Python में RDDs के साथ डेटा वैज्ञानिकों के इंटरफ़ेस में मदद करता है Py4j. कई विशेषताएं हैं जो PySpark को दूसरों की तुलना में बेहतर ढांचा बनाती हैं:

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

आइए हमारे पाइस्पार्क ट्यूटोरियल ब्लॉग के साथ आगे बढ़ें और देखें कि उद्योग में स्पार्क का उपयोग कहां किया जाता है।

उद्योग में PySpark

हर उद्योग बिग डेटा के इर्द-गिर्द घूमता है और जहां बिग डेटा है वहां विश्लेषण शामिल है। तो आइए उन विभिन्न उद्योगों पर एक नज़र डालें जहां अपाचे स्पार्क का उपयोग किया जाता है।



कैसे जावा में int के लिए डबल कास्ट करने के लिए

आधा ऑनलाइन स्ट्रीमिंग की ओर बढ़ने वाले सबसे बड़े उद्योग में से एक है। नेटफ्लिक्स अपने ग्राहकों को व्यक्तिगत ऑनलाइन सिफारिशें प्रदान करने के लिए वास्तविक समय धारा प्रसंस्करण के लिए अपाचे स्पार्क का उपयोग करता है। यह प्रक्रिया करता है 450 बिलियन है ईवेंट प्रति दिन जो सर्वर-साइड एप्लिकेशन में आते हैं।

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

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

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

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

इस PySpark ट्यूटोरियल का एक महत्वपूर्ण पहलू यह समझना है कि हमें पायथन के लिए जाने की आवश्यकता क्यों है? जावा, स्काला या आर क्यों नहीं?

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


क्यों अजगर के लिए जाओ?

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

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

विशाल सामुदायिक सहायता: पायथन में लाखों डेवलपर्स के साथ एक वैश्विक समुदाय है जो हजारों आभासी और भौतिक स्थानों में ऑनलाइन और ऑफलाइन बातचीत करता है।

इस PySpark ट्यूटोरियल में सबसे महत्वपूर्ण विषयों में से एक RDDs का उपयोग है। आरडीडी क्या हैं आइए समझते हैं

स्पार्क आरडीडी

जब पुनरावृत्त वितरित कंप्यूटिंग की बात आती है, अर्थात गणनाओं में कई नौकरियों पर डेटा संसाधित करना, हमें कई नौकरियों के बीच डेटा का पुन: उपयोग या साझा करने की आवश्यकता होती है। पहले की तरह फ्रेमवर्क में कई ऑपरेशन / जॉब्स जैसे काम करते समय समस्याएँ थीं

  • इंटरमीडिएट स्टोरेज में डेटा स्टोर करना जैसे कि एचडीएफएस
  • एकाधिक I / O नौकरियों की गणना धीमी हो जाती है
  • प्रतिकृति और क्रमबद्धता जो बदले में प्रक्रिया को धीमा कर देती है

RDD गलत-सहिष्णु वितरित इन-मेमोरी कंप्यूटेशन को सक्षम करके सभी समस्याओं को हल करने का प्रयास करता है। RDD के लिए कम है लचीला वितरित डेटासेट। आरडीडी एक वितरित मेमोरी एब्स्ट्रैक्शन है जो प्रोग्रामर को बड़े-बड़े समूहों में मेमोरी-संगणना को एक दोष-सहिष्णु तरीके से निष्पादित करने देता है। वे हैं वस्तुओं का केवल-संग्रह यदि कोई विभाजन खो जाता है, तो मशीनों के एक समूह में विभाजित किया जा सकता है। RDD पर कई ऑपरेशन किए गए हैं:

  • रूपांतरण: रूपांतरण एक मौजूदा से एक नया डेटासेट बनाते हैं। आलसी मूल्यांकन
  • क्रिया: स्पार्क केवल निष्पादन के लिए गणना को बल देता है जब आरडीडी पर कार्रवाई की जाती है

आइए कुछ रूपांतरण, क्रिया और कार्य को समझें

एक फ़ाइल पढ़ना और शीर्ष n तत्व प्रदर्शित करना:

rdd = sc.textFile ('फ़ाइल: /// होम / edureka / डेस्कटॉप / नमूना') rdd.t (()

आउटपुट:

[u'Deforestation मुख्य पर्यावरण और सामाजिक मुद्दे के रूप में उत्पन्न हो रहा है जो अब एक शक्तिशाली दानव से अधिक का रूप ले चुका है। वनों की कटाई के कारण उत्पन्न होने वाली समस्याओं के समाधान के कारणों, प्रभावों और तरीकों के बारे में हमें पता होना चाहिए। ', u'We ने वनों की कटाई पर कई पैराग्राफ, लंबे और छोटे निबंध प्रदान किए हैं ताकि आपके बच्चों और बच्चों को समस्या के बारे में जागरूक करने के साथ-साथ स्कूल या स्कूल के बाहर निबंध लेखन प्रतियोगिता में भाग लेने में मदद मिल सके। ', u'You वर्ग मानक के अनुसार नीचे दिए गए किसी भी वनों की कटाई निबंध का चयन कर सकते हैं। ', u'Deforestation समाज और पर्यावरण के लिए प्रमुख वैश्विक समस्या के रूप में उत्पन्न हो रहा है।'

लोअरकेस और विभाजन में परिवर्तित: (लोअर और स्प्लिट)

डीएफ़ फंक (रेखाएँ): लाइनें = लाइन्स। लोवर () लाइन्स = लाइन्स () रिटर्न लाइन्स rdd1 = rdd.map (फंक) rdd1.take (5)

आउटपुट:

[[u'deforestation ', u'is', u'arising ', u'as', u'the ', u'main', u'environmental ', u'and', u'social ', u -issue ', u'which', u'has ', u'now', u'taken ', ..... । । ]

स्टॉपबुक निकालना: (फ़िल्टर करना)

stop_words = ['a ’,' all’,, the ’,’ is ’, 'am’,, a ’,’ and ’,' be’, 'be ’,' from’, 'had ’ , 'I', 'I', 'Why', 'with'] rdd2 = rdd1.filter (lambda z: z not stop_words में) rdd2.take (10)

आउटपुट:

[u'deforestation ', u'arising', u'main ', u'environmental', 'uocial', u'issue ', u'which', u'has ', u'now', u'taken ' ]

1 से 500 तक संख्याओं का योग: (कम करें)

sum_rdd = sc.parallelize (श्रेणी (1,500)) sum_rdd.reduce (लैम्ब्डा x, y: x + y)

आउटपुट:

124750 है

पाइस्पार्क के साथ मशीन लर्निंग

हमारे PySpark Tutorial ब्लॉग को जारी रखते हुए, कुछ टोकरी डेटा का विश्लेषण करें और कुछ भविष्य की भविष्यवाणी करें। इसलिए, यहाँ हम एनबीए के सभी खिलाड़ियों के बास्केटबॉल डेटा का उपयोग करने जा रहे हैं 1980 [3 पॉइंटर्स की शुरूआत का वर्ष]।

डेटा लोड हो रहा है:

df = spark.read.option ('शीर्ष लेख', 'सत्य') .option ('inferSchema', 'true') .csv ('फ़ाइल: ///home/edureka/Downloads/season-totals.csv')

मुद्रण कॉलम:

प्रिंट (df.columns)

आउटपुट:

[[_c0 ’, 'खिलाड़ी’,' पॉस ’,, उम्र’, id टीम_िड ’, 'जी’,' जीएस ’, 'एमपी’, g एफजी ’, ga फग’, g एफजी_पक्ट ’, f एफजी 3’, ’ fg3a ',' fg3_pct ',' fg2 ',' fg2a ',' fg2_pct ',' efg_pct ',' ft ',' fta ',' ftp ',' orb ',' drb ',' trb ',' ast ' , 'stl', 'blk', 'tov', 'pf', 'pts', 'yr']

सॉर्टिंग प्लेयर्स (ऑर्डरबी) और टंडनदास:

यहां हम सीज़न में बनाए गए पॉइंट के आधार पर खिलाड़ियों को छांट रहे हैं।

df.orderBy ('pts', आरोही = गलत) .limit (10) .toPandas () [['yr', 'खिलाड़ी', 'आयु', 'pts', 'fg3]]]

आउटपुट:

DSL और matplotlib का उपयोग करना:

यहां हम औसत संख्या का विश्लेषण कर रहे हैं 3 बिंदु प्रयास समय की सीमा में प्रत्येक मौसम के लिए ३६ मि [पर्याप्त आराम के साथ लगभग पूर्ण एनबीए खेल के अनुरूप अंतराल]। हम 3-बिंदु फ़ील्ड लक्ष्य प्रयासों (fg3a) और मिनट्स (mp) की संख्या का उपयोग करके इस मीट्रिक की गणना करते हैं और फिर उपयोग करके परिणाम की साजिश करते हैं matlplotlib

pyspark.sql.functions से col fga_py = df.groupBy ('rr)) .agg ({'mp': 'sum', 'fg3a': 'sum'}) .select (col ('yr')), ( 36 * col ('sum (fg3a)') / col ('sum (mp)'))। उपनाम ('fg3a_p36m')) .orderBy ('yr') matplotlive आयात pyplot से plt आयात सीबो के रूप में sns plt.style। .use ('फाइवहाइट' ') _df = fga_py.toPandas () plt.plot (_df.yr, _df.fg3a_p36m, color =' # CD5C5C) plt.xlabel ('वर्ष') _ = plt.title ('प्लेयर औसत') 3-सूत्री प्रयास (प्रति 36 मिनट) 'plt.annotate (' 3 पॉइंटर पेश किया गया ', xy (1980, .5), xytext = (1981, 1.1), fontize = 9, arrowprops -' facecolor = 'ग्रे ', हटना = 0, लिनिविथ = 2)) plt.annotate (' एनबीए 3-पॉइंट लाइन में ले जाया गया ', xy = (1996, 2.4), xytext = (1991.5, 2.7), फॉण्टाइज़ = 9, एरोप्रॉप्स = तानाशाही (फेसकलर) = 'ग्रे', हटना = 0, लाइनविद = 2)) plt.annotate ('एनबीए 3-बिंदु रेखा पर वापस चला गया', xy = (1998, 2.), xytext = (1998.5, 2.4), फ़ॉन्ट = 9, तीरंदाजी = तानाशाही (चेहरे का रंग = 'धूसर', सिकुड़ना = ०, लिनवेद = २))

आउटपुट:

रैखिक प्रतिगमन और वैक्टरएब्लेमर:

हम अगले 5 वर्षों के लिए शॉट प्रयासों की संख्या को मॉडल करने के लिए इस वक्र के लिए एक रैखिक प्रतिगमन मॉडल फिट कर सकते हैं। हमें अपना डेटा वेक्टरएब्लेम्बलर फंक्शन का उपयोग करके एक कॉलम में बदलना है। यह है एक आवश्यकता एमएललिब में रैखिक प्रतिगमन एपीआई के लिए।

pyspark.ml.feature इंपोर्ट से वेक्टरएस्सेम्बलर t = वेक्टरएसेम्बलर (inputCols = ['yr'], outputCol = 'फीचर्स') प्रशिक्षण = t.transform (fga_py) .withColumn ('yr', fga_py.yr) .withColumn () लेबल लेबल ', fga_py.fg3a_p36m) प्रशिक्षण। प्रतापदास ()। प्रमुख ()।

आउटपुट:

बिल्डिंग मॉडल:

तब हम अपने रूपांतरित डेटा का उपयोग करके हमारे रेखीय प्रतिगमन मॉडल ऑब्जेक्ट का निर्माण करते हैं।

pyspark.ml.regression import LinearRegression lr = LinearRegression (maxIter = 10) मॉडल = lr.fit (प्रशिक्षण) से

डेटासेट के लिए प्रशिक्षित मॉडल लागू करना:

हम अपने प्रशिक्षित मॉडल ऑब्जेक्ट मॉडल को 5 साल के भविष्य के डेटा के साथ हमारे मूल प्रशिक्षण सेट पर लागू करते हैं

pyspark.sql.types से इंपोर्ट रो # 1979-80 सीज़न के लिए मॉडल लागू करें 2020-21 सीज़न ट्रेनिंग_यर्स = training.select ('yr')। rdd.map (लैम्ब्डा x: x [0]) इकट्ठा करें () training_y = training.select ('fg3a_p36m')। rdd.map (लैम्ब्डा x: x [0]) इकट्ठा () prediction_yrs = [2017, 2018, 2018, 2019, 2020, 2021, all_yrs = training_yrs + prediction_yrs # बनाया गया परीक्षण DataFrame test_rdd = sc.parallelize (all_yrs) row = Row ('yr') और ampamplt all_years_features = t.transform (test_rdd.map (row) .toDF) ()) # रेखीय प्रतिगमन मॉडल df_results = model.transform (all_years_features))।

अंतिम भविष्यवाणी प्लॉट करना:

जावास्क्रिप्ट में एक विधि क्या है

फिर हम अपने परिणामों की साजिश कर सकते हैं और एक निर्दिष्ट स्थान पर ग्राफ को बचा सकते हैं।

plt.plot (df_results.yr, df_results.prediction, linewidth = 2, linestyle = '-', color = '# 224df7', लेबल = 'L2 Fit': plt.plot (training_yrs, training_y, color = '# f0808080) ', लेबल = कोई नहीं) plt.xlabel (' वर्ष ') plt.ylabel (' प्रयासों की संख्या ') plt.legend (loc = 4) _ = plt.title (' प्लेयर औसत 3-बिंदु प्रयास (प्रति 36 मिनट)) ') plt.tight_layout () plt.savefig (' / home / edureka / download / Images / REGRESSION.png ')

आउटपुट:

और इस ग्राफ के साथ, हम इस PySpark ट्यूटोरियल ब्लॉग के अंत में आते हैं।

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

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

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