Tutorial PySpark Dataframe - Programare PySpark cu Dataframes



În acest blog tutorial PySpark Dataframe, veți afla despre transformări și acțiuni în Apache Spark cu mai multe exemple.

Dataframes este un cuvânt cheie în industrie în zilele noastre. Oamenii tind să-l folosească cu limbaje populare utilizate pentru analiza datelor, cum ar fi Python, Scala și R.În plus, cu nevoia evidentă de a gestiona sarcini complexe de analiză și munging pentru Big Data, Python pentru Spark sau a devenit una dintre cele mai căutate abilități din industrie în prezent.Deci, de ce toată lumea îl folosește atât de mult? Să înțelegem acest lucru cu Tutorial PySpark Dataframe blog. În acest blog voi acoperi următoarele subiecte:





Tutorial PySpark Dataframe: Ce sunt Dataframes?

Cadrele de date se referă, în general, la o structură de date, de natură tabulară. Reprezintă rândurile, fiecare dintre ele constând dintr-un număr de observații. Rândurile pot avea o varietate de formate de date ( Eterogen ), întrucât o coloană poate avea date de același tip de date ( Omogen ). Cadrele de date conțin de obicei unele metadate în plus față de date, de exemplu, numele coloanelor și rândurilor.

Dataframe-Pyspark-Dataframe-Tutorial



Putem spune că Dataframes nu sunt altceva decât structura de date bidimensională, similar cu un tabel SQL sau o foaie de calcul. Acum, să mergem mai departe cu acest tutorial PySpark Dataframe și să înțelegem de ce avem nevoie exact de Pyspark Dataframe?

De ce avem nevoie de Dataframes?

1. Prelucrarea datelor structurate și semi-structurate



Cadrele de datesunt concepute pentru a fi procesatela mare colectarea de date structurate, precum și semi-structurate . Observațiile din Spark DataFrame sunt organizate sub coloane denumite, ceea ce ajută Apache Spark să înțeleagă schema unui DataFrame. Acest lucru ajută Spark să optimizeze planul de execuție pentru aceste interogări. Se poate descurca și Petabytes de date.

2.S alunecare și îngustare

Cadrul de date AIP-urile acceptă de obicei metode elaborate pentru felierea și tăierea în cuburi datele. IncludeOperațiunens, cum ar fi „selectarea” rândurilor, coloanelor și celulelor după nume sau după număr, filtrarea rândurilor etc. Datele statistice sunt de obicei foarte dezordonate și conțin o mulțime de valori lipsă și greșite și încălcări ale intervalului. Deci, o caracteristică importantă a cadrelor de date este gestionarea explicită a datelor lipsă.

3. Surse de date

DataFrame oferă suport pentru o gamă largă de formate și surse de date, vom analiza acest lucru mai târziu în acest blog Tutorial Pyspark Dataframe. Aceștia pot prelua date din diverse surse.

4. Suport pentru mai multe limbi

Are suport API pentru diferite limbi cum ar fi Python, R, Scala, Java,ceea ce face mai ușor de utilizat de către persoanele cu diferite medii de programare.

Abonați-vă la canalul nostru YouTube pentru a primi noi actualizări ..!

Caracteristicile Dataframes

  • Cadrele de date sunt Distribuit în natură, ceea ce o face să fie tolerantă la defecțiuni și o structură de date foarte disponibilă.
  • Evaluare leneșă este o strategie de evaluare care deține evaluarea unei expresii până când este nevoie de valoarea acesteia. Evită evaluarea repetată. Evaluarea leneșă în Spark înseamnă că execuția nu va începe până când nu este declanșată o acțiune. În Spark, imaginea evaluării leneșe apare atunci când apar transformări Spark.
  • Cadrele de date sunt Imuabil în natură. Prin imuabil vreau să spun că este un obiect a cărui stare nu poate fi modificat după ce este creat.Dar ne putem transformaestevalorile prin aplicareaun anumittransformare, ca în RDD-uri.

Surse PySpark Dataframe

Cadrele de date din Pyspark pot fi create în mai multe moduri:

Datele pot fi încărcate prin intermediul unui CSV, JSON, XML sau un dosar de parchet. De asemenea, poate fi creat folosind un existent RDD și prin orice altă bază de date, cum ar fi Stup sau Cassandra de asemenea. De asemenea, poate prelua date de la HDFS sau de la sistemul de fișiere local.

Crearea cadrului de date

Să mergem mai departe cu acest blog Tutorial PySpark Dataframe și să înțelegem cum să creăm Dataframes.

Vom crea instanțe ale angajaților și ale departamentului.

din pyspark.sql import * Angajat = Rând („prenume”, „prenume”, „e-mail”, „salariu”) angajat1 = Angajat („Basher”, „armbrust”, „bash@edureka.co”, 100000) angajat2 = Angajat („Daniel”, „meng”, „daniel@stanford.edu”, 120000) angajat 3 = Angajat („Muriel”, Niciunul, „muriel@waterloo.edu”, 140000) angajat 4 = Angajat („Rachel”, „wendell ',' rach_3@edureka.co ', 160000) employee5 = Angajat (' Zach ',' galifianakis ',' zach_g@edureka.co ', 160000) print (Employee [0]) print (employee3) department1 = Row (id) = '123456', nume = 'HR') departament2 = Rând (id = '789012', nume = 'OPS') departament3 = Rând (id = '345678', nume = 'FN') departament4 = Rând (id = ' 901234 ', nume =' DEV ')

Apoi, vom crea o instanță DepartmentWithEmployees din Angajat și Departamente

departmentWithEmployees1 = Rând (departament = departament1, angajați = [angajat1, angajat2, angajat5]) departmentWithEmployees2 = Rând (departament = departament2, angajați = [angajat3, angajat4]) departmentWithEmployees3 = Rând (departament = departament3, angajați = [angajat1, angajat4, angajat3 ]) departmentWithEmployees4 = Rând (departament = departament4, angajați = [angajat2, angajat3])

Să creăm Dataframe din lista de rânduri

departmentWithEmployees_Seq = [departmentWithEmployees1, departmentWithEmployees2] dframe = spark.createDataFrame (departmentWithEmployees_Seq) afișează (dframe) dframe.show ()

Pyspark Dataframes Exemplul 1: setul de date al Cupei Mondiale FIFA

Aici am luat setul de date pentru jucătorii Cupei Mondiale FIFA. Vom încărca aceste date care sunt în format CSVintr-ocadru de date și apoi vom afla despre diferitele transformări și acțiuni care pot fi efectuate pe acest cadru de date.

Citirea datelor din fișierul CSV

Să încărcăm datele dintr-un fișier CSV. Aici vom folosi spark.read.csv metoda de încărcare a datelor într-un cadru de date fifa_df. Metoda reală este spark.read.format [csv / json] .

fifa_df = spark.read.csv ('cale-fișier / fifa_players.csv', inferSchema = Adevărat, antet = Adevărat) fifa_df.show ()

Schema Dataframe

Pentru a arunca o privire asupra schemei, adică. structura cadrului de date, vom folosi printSchema metodă. Acest lucru ne va oferi diferitele coloane din cadrul nostru de date împreună cu tipul de date și condițiile nulabile pentru acea coloană specială.

fifa_df.printSchema ()

Numele și numărul de coloane (rânduri și coloane)

Când dorim să aruncăm o privire asupra numelor și a numărului de rânduri și coloane ale unui anumit cadru de date, folosim următoarele metode.

fifa_df.columns // Nume coloane fifa_df.count () // Număr rânduri len (fifa_df.columns) // Număr coloane

37784 8

Descrierea unei coloane particulare

Dacă dorim să aruncăm o privire asupra rezumatului oricărei coloane anume a unui Dataframe, folosim descrie metodă. Această metodă ne oferă rezumatul statistic al coloanei date, dacă nu este specificat, oferă rezumatul statistic al cadrului de date.

cum se face o listă legată în c
fifa_df.describe („Numele antrenorului”). show () fifa_df.describe („Poziția”). show ()

Selectarea mai multor coloane

Dacă dorim să selectăm anumite coloane din cadrul de date, folosim Selectați metodă.

fifa_df.select („Nume jucător”, „Nume antrenor”). show ()

Selectarea diferitelor coloane multiple

fifa_df.select („Nume jucător”, „Nume antrenor”). distinct (). show ()

Filtrarea datelor

Pentru a filtra datele, în funcție de condiția specificată, folosim filtru comanda. Aici ne filtrăm cadrul de date pe baza condiției ca Match ID să fie egal cu 1096 și apoi calculăm câte înregistrări / rânduri există în ieșirea filtrată.

fifa_df.filter (fifa_df.MatchID == '1096'). show () fifa_df.filter (fifa_df.MatchID == '1096'). count () // pentru a obține numărul

Filtrarea datelor (parametri multipli)

Ne putem filtra datele pe baza mai multor condiții (ȘI sau SAU)

fifa_df.filter ((fifa_df.Position == 'C') && (fifa_df.Event == 'G40' ')). show ()

Sortarea datelor (OrderBy)

Pentru a sorta datele folosim OrderBy metodă. În mod implicit, se sortează în ordine crescătoare, dar o putem schimba și în ordine descendentă.

fifa_df.orderBy (fifa_df.MatchID) .show ()

PySpark Dataframes Exemplul 2: Set de date Superheros

Încărcarea datelor

Aici vom încărca datele în același mod în care am făcut-o mai devreme.

Superhero_df = spark.read.csv ('calea fișierului / superheros.csv', inferSchema = True, header = True) Superhero_df.show (10)

Filtrarea datelor

Superhero_df.filter (Superhero_df.Gender == 'Male'). Count () // Male Heros Count Superhero_df.filter (Superhero_df.Gender == 'Female'). Count () // Female Heros Count

Gruparea datelor

A se grupa cu este folosit pentru a grupa cadrul de date pe baza coloanei specificate. Aici, grupăm dataframe pe baza coloanei Race și apoi cu numara funcție, putem găsi numărul cursei respective.

Race_df = Superhero_df.groupby ('Race') .count () .show ()

Efectuarea interogărilor SQL

De asemenea, putem transmite interogări SQL direct oricărui cadru de date, pentru aceasta trebuie să creăm un tabel din cadru de date folosind registerTempTable metoda și apoi utilizați sqlContext.sql () pentru a trece interogările SQL.

Superhero_df.registerTempTable ('superhero_table') sqlContext.sql ('select * from superhero_table'). Show ()

sqlContext.sql ('select distinct (Eye_color) from superhero_table'). show ()

sqlContext.sql ('select distinct (Eye_color) from superhero_table'). count ()

2. 3

sqlContext.sql ('select max (Weight) from superhero_table'). show ()

Și odată cu aceasta, ajungem la sfârșitul acestui tutorial PySpark Dataframe.

Deci asta este, băieți!

Sper că v-ați făcut o idee despre ce este PySpark Dataframe, de ce este folosit în industrie și caracteristicile sale în acest blog Tutorial PySpark Dataframe. Felicitări, nu mai sunteți un începător al Dataframes. Dacă doriți să aflați mai multe despre PySpark și să înțelegeți diferitele cazuri de utilizare din industrie, aruncați o privire la Spark cu Python și Tutorial PySpark Blog.