पाइस्पार्क डेटाफ्रेम ट्यूटोरियल - डेटाफ्रेम के साथ पाइस्पार्क प्रोग्रामिंग



इस PySpark Dataframe ट्यूटोरियल ब्लॉग में, आप अपाचे स्पार्क में कई उदाहरणों के साथ परिवर्तनों और क्रियाओं के बारे में जानेंगे।

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





PySpark डेटाफ्रेम ट्यूटोरियल: डेटाफ्रेम क्या हैं?

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

Dataframe-Pyspark-Dataframe-Tutorial



हम कह सकते हैं कि डेटाफ्रेम कुछ नहीं हैं, लेकिन 2-डायमेंशनल डेटा स्ट्रक्चर, SQL टेबल या स्प्रेडशीट के समान है। अब इस PySpark डेटाफ्रेम ट्यूटोरियल के साथ आगे बढ़ते हैं और समझते हैं कि वास्तव में हमें Pyspark Dataframe की आवश्यकता क्यों है?

हमें डेटाफ्रेम की आवश्यकता क्यों है?

1. संरचित संरचित और अर्ध-संरचित डेटा



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

2. एस लाइसेंस और Dicing

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

3. दाता स्रोत

DataFrame में डेटा प्रारूप और स्रोतों की एक विस्तृत श्रृंखला के लिए एक समर्थन है, हम इस Pyspark Dataframe ट्यूटोरियल ब्लॉग में बाद में देखेंगे। वे विभिन्न स्रोतों से डेटा ले सकते हैं।

4. कई भाषाओं के लिए समर्थन

इसमें विभिन्न भाषाओं जैसे पाइथन, आर, स्काला, जावा के लिए एपीआई समर्थन है,जो अलग-अलग प्रोग्रामिंग बैकग्राउंड वाले लोगों द्वारा उपयोग में लाना आसान बनाता है।

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

डेटाफ्रेम की विशेषताएं

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

PySpark डेटाफ्रेम स्रोत

Pyspark में डेटाफ़्रेम कई तरीकों से बनाए जा सकते हैं:

डेटा एक के माध्यम से लोड किया जा सकता है CSV, JSON, XML या एक लकड़ी की छत फ़ाइल। इसे किसी मौजूदा का उपयोग करके भी बनाया जा सकता है RDD और किसी अन्य डेटाबेस के माध्यम से, जैसे छत्ता या कैसंड्रा भी। यह एचडीएफएस या स्थानीय फाइल सिस्टम से भी डेटा ले सकता है।

डेटाफ़्रेम निर्माण

आइए इस PySpark डेटाफ्रेम ट्यूटोरियल ब्लॉग के साथ आगे बढ़ें और समझें कि डेटाफ्रेम कैसे बनाएं।

हम कर्मचारी और विभाग उदाहरण तैयार करेंगे।

pyspark.sql आयात से * कर्मचारी = पंक्ति ('पहला नाम', 'अंतिम नाम', 'ईमेल', 'वेतन') कर्मचारी 1 = कर्मचारी ('बाशेर', 'आर्मब्रस्ट', 'bash@edureka.co', 100000) कर्मचारी 2 = कर्मचारी ('डैनियल', 'मेंग', 'daniel@stanford.edu', 120000) कर्मचारी 3 = कर्मचारी ('मुरील', कोई नहीं, 'मुरील @ वाटरलू.आडू', 140000) कर्मचारी 4 = कर्मचारी ('राहेल', 'वेंडेल) ',' rach_3@edureka.co ', 160000) कर्मचारी 5 = कर्मचारी (' Zach ',' galifianakis ',' zach_g@edureka.co ', 160000) प्रिंट (कर्मचारी [0]) प्रिंट (कर्मचारी 3) विभाग 1 = पंक्ति (आईडी) = '123456', नाम = 'एचआर') विभाग 2 = पंक्ति (आईडी = '789012', नाम = 'ओपीएस') विभाग 3 = पंक्ति (आईडी = '345678', नाम = 'एफएन') विभाग 4: पंक्ति (आईडी = ') 901234 ', नाम =' DEV ')

इसके बाद, हम कर्मचारी और विभागों से एक विभागवार कर्मचारी उदाहरण तैयार करेंगे

विभागविभाजक कर्मचारी १ = पंक्ति (विभाग = विभाग १, कर्मचारी = [कर्मचारी १, कर्मचारी २, कर्मचारी ५]) विभागविभाग कर्मचारी २ = पंक्ति (विभाग = विभाग २, कर्मचारी = [कर्मचारी ३, कर्मचारी ४]) विभाग विभाग कर्मचारी २ = कर्मचारी (विभाग = कर्मचारी, विभाग = कर्मचारी ३, कर्मचारी = ४, कर्मचारी ३) ]) विभागविभाग कर्मचारी = पंक्ति (विभाग = विभाग ४, कर्मचारी = [कर्मचारी २, कर्मचारी ३])

चलिए हमारे डेटाफ्रेम को पंक्तियों की सूची से बनाते हैं

विभागोंविभाजक कर्मचारी_सेक = [विभागविभाजक कर्मचारी १, विभागविभाजक कर्मचारी २] dframe = spark.createDataFrame (विभागविभाज्य कर्मचारी_सेठ): प्रदर्शन (dframe) dframe.show ()

Pyspark Dataframes उदाहरण 1: फीफा विश्व कप डेटासेट

यहाँ हम फीफा विश्व कप के खिलाड़ी डेटासैट ले गए हैं। हम इस डेटा को लोड करने जा रहे हैं जो CSV प्रारूप में हैमेंडेटाफ्रेम और फिर हम उन विभिन्न परिवर्तनों और कार्यों के बारे में जानेंगे जो इस डेटाफ्रेम पर किए जा सकते हैं।

CSV फ़ाइल से डेटा पढ़ना

CSV फ़ाइल से डेटा लोड होने दें। यहां हम इसका उपयोग करने जा रहे हैं स्पार्क .read.csv डेटा को डेटाफ्रेम में लोड करने की विधि वास्तविक विधि है spark.read.format [csv / json]

tena_df = spark.read.csv ('path-of-file / 85a_players.csv', inferSchema = True, हैडर = True) पन्ना_df.show ()

डेटाफ़्रेम की स्कीमा

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

फीफा_डियर। छापा ()

स्तंभ नाम और गणना (पंक्तियाँ और स्तंभ)

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

85a_df.columns // कॉलम नाम 85a_df.count () // पंक्ति गणना लेन (tena_df.columns) // स्तंभ संख्या

37784 है 

एक विशेष स्तंभ का वर्णन

यदि हम किसी डेटाफ़्रेम के किसी विशेष कॉलम के सारांश को देखना चाहते हैं, तो हम इसका उपयोग करते हैं वर्णन करता है तरीका। यह विधि हमें दिए गए कॉलम का सांख्यिकीय सारांश देती है, यदि निर्दिष्ट नहीं है, तो यह डेटाफ़्रेम का सांख्यिकीय सारांश प्रदान करता है।

जावास्क्रिप्ट में क्या सतर्क है
85a_df.describe ('कोच का नाम')। () 85a_df.describe ('स्थिति') शो ()।

एकाधिक स्तंभों का चयन करना

यदि हम डेटाफ़्रेम से विशेष कॉलम का चयन करना चाहते हैं, तो हम इसका उपयोग करते हैं चुनते हैं तरीका।

85a_df.select ('खिलाड़ी का नाम', 'कोच का नाम')। दिखाएँ ()

डिस्टिक्ट मल्टीपल कॉलम का चयन करना

फीफा_फीड.सेलेक्ट ('प्लेयर का नाम', 'कोच का नाम')। विशिष्ट ()। शो ()।

फ़िल्टरिंग डेटा

डेटा को फ़िल्टर करने के लिए, निर्दिष्ट स्थिति के अनुसार, हम उपयोग करते हैं फ़िल्टर करें आज्ञा। यहां हम अपनी डेटाफ्रेम को इस शर्त के आधार पर फ़िल्टर कर रहे हैं कि मैच आईडी 1096 के बराबर होनी चाहिए और फिर हम यह गणना कर रहे हैं कि फ़िल्टर किए गए आउटपुट में कितने रिकॉर्ड / पंक्तियाँ हैं।

counta_df.filter (tena_df.MatchID == '1096') शो। ()।

फ़िल्टरिंग डेटा (एकाधिक पैरामीटर)

हम अपने डेटा को कई स्थितियों (और या OR) के आधार पर फ़िल्टर कर सकते हैं

tena_df.filter ((tena_df.Position == 'C') && (datea_df.Event == 'G40' '))। show ()

सॉर्टिंग डेटा (ऑर्डरबी)

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

tena_df.orderBy (फीफा_ऑफ़। मेचिड) .show ()

पाइस्पार्क डेटाफ्रेम उदाहरण 2: सुपरहीरो डेटासेट

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

यहां हम डेटा को उसी तरह लोड करेंगे जैसे हमने पहले किया था।

Superhero_df = spark.read.csv ('फ़ाइल का मार्ग / superheros.csv', inferSchema = True, शीर्षलेख = सत्य) Superhero_df.show (10)

डेटा को फ़िल्टर करना

Superhero_df.filter (Superhero_df.Gender == 'Male')। count () // Male Heros Count Superhero_df.filter (सुपरहीरो_df.Gender == 'महिला')। गिनती () // फीमेल हेरोस काउंट

डेटा को समूहीकृत करना

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

Race_df = Superhero_df.groupby ('रेस') .count () .show ()।

SQL क्वेरी का प्रदर्शन करना

हम एसक्यूएल क्वेश्चन को सीधे किसी भी डेटाफ़्रेम को पास कर सकते हैं, इसके लिए हमें डेटाफ़्रेम से एक टेबल बनाने की ज़रूरत है पंजीकरण योग्य विधि और फिर उपयोग करें sqlContext.sql () SQL क्वेरी को पास करने के लिए।

Superhero_df.registerTempTable ('superhero_table') sqlContext.sql ('superhero_table से' का चयन करें))। ()।

sqlContext.sql ('सुपरहेरो_टेबल से अलग (Eye_color' चुनें)) दिखाएगा ()।

sqlContext.sql ('सुपरहेरो_टेबल से अलग (Eye_color) का चयन करें')। ()

२। ३

sqlContext.sql ('सुपरहीरो_टेबल से अधिकतम (वजन) का चयन करें')। दिखाएँ ()

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

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

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