Andmekaadrid on tänapäeval tööstuses moesõna. Inimesed kipuvad seda kasutama andmete analüüsimiseks kasutatavate populaarsete keeltega, nagu Python, Scala ja R.Lisaks ilmsele vajadusele keerukate analüüside ja Big Data, Pythoni Sparki või on muutunud tänapäeval tööstuse üheks nõutumaks oskuseks.Miks siis kõik seda nii palju kasutavad? Saame sellest aru oma PySparki andmekaadri õpetus ajaveeb. Selles blogis käsitlen järgmisi teemasid:
- Mis on andmekaadrid?
- Miks me vajame andmekaadreid?
- Dataframe'i omadused
- PySparki andmeraami allikad
- Andmekaadri loomine
- Pysparki andmekaadrid FIFA maailmakarika ja superkangelaste andmekogumiga
PySparki andmekaadri õpetus: mis on andmekaadrid?
Andmekaadrid viitavad üldiselt andmestruktuurile, mis on oma olemuselt tabel. See tähistab ridu, millest igaüks koosneb mitmest tähelepanekust. Ridadel võib olla mitmesuguseid andmevorminguid ( Heterogeenne ), samas kui veerus võivad olla sama tüüpi andmed ( Homogeenne ). Andmeraamid sisaldavad lisaks andmetele tavaliselt mõnda metaandmeid, näiteks veergude ja ridade nimesid.
Võime öelda, et andmekaadrid pole midagi muud, kui kahemõõtmeline andmestruktuur, mis on sarnane SQL-i tabelile või arvutustabelile. Nüüd liigume selle PySpark Dataframe juhendajaga edasi ja mõistame, miks me täpselt Pyspark Dataframe'i vajame?
Miks me vajame andmekaadreid?
1. Struktureeritud ja poolstruktureeritud andmete töötlemine
Andmeraamidon ette nähtud töötlemisekskuni suur struktureeritud kui ka poolstruktureeritud andmete kogumine . Vaatlused rakenduses Spark DataFrame on korraldatud nimetud veergude alla, mis aitab Apache Sparkil mõista DataFrame'i skeemi. See aitab Sparkil nende päringute täitmisplaani optimeerida. See saab ka hakkama Petabaiti andmete kohta.
2. S. litsentsimine ja tükeldamine
Andmeraam API-d toetavad tavaliselt keerukaid meetodeid viilutamine ja tükeldamine andmed. See sisaldaboperatsioonins, näiteks ridade, veergude ja lahtrite valimine nime või numbri järgi, ridade filtreerimine jne. Statistilised andmed on tavaliselt väga segased ja sisaldavad palju puuduvaid ja valesid väärtusi ning vahemiku rikkumisi. Seega on andmeraamide kriitiliselt oluline tunnus puuduvate andmete selgesõnaline haldamine.
3. Andmeallikad
DataFrame toetab laias valikus andmevorminguid ja -allikaid. Seda uurime hiljem selles Pyspark Dataframe'i õpetuse ajaveebis. Nad saavad andmeid võtta erinevatest allikatest.
4. Mitme keele tugi
Sellel on API tugi erinevatele keeltele nagu Python, R, Scala, Java,mis hõlbustab erineva programmeerimistaustaga inimeste kasutamist.
Uute värskenduste saamiseks tellige meie youtube'i kanal ..!
Dataframe'i omadused
- Andmeraamid on Levitatakse looduses, mis muudab selle tõrketaluvaks ja hästi kättesaadavaks andmete struktuuriks.
- Laisk hinnang on hindamisstrateegia, mis hoiab avaldise hindamist seni, kuni selle väärtust on vaja. See väldib korduvat hindamist. Laisk hindamine Sparkis tähendab, et käivitamine algab alles siis, kui mõni toiming käivitatakse. Sparkis saab pilt laisast hindamisest siis, kui toimuvad Sädeme teisendused.
- Andmeraamid on Muutumatu looduses. Muutumatu all mõtlen, et see on objekt, mille olek ei saa muuta pärast selle loomist.Kuid me saame transformeerudaselleväärtusi rakendadeskindelümberkujundamine, nagu RDD-de puhul.
PySparki andmeraami allikad
Andmekaadreid Pysparkis saab luua mitmel viisil:
Andmeid saab laadida a kaudu CSV, JSON, XML või parkettfail. Selle saab luua ka olemasoleva abil RDD ja mis tahes muu andmebaasi kaudu Taru või Cassandra samuti. Samuti võib see sisestada andmeid HDFS-ist või kohalikust failisüsteemist.
Andmekaadri loomine
Liigume selle PySpark Dataframe Tutoriali ajaveebiga edasi ja mõistame, kuidas Dataframe'i luua.
Loome töötaja ja osakonna eksemplare.
from pyspark.sql import * Employee = Rida ('eesnimi', 'perekonnanimi', 'e-post', 'palk') töötaja1 = töötaja ('Basher', 'armbrust', 'bash@edureka.co', 100000) töötaja2 = Töötaja ('Daniel', 'meng', 'daniel@stanford.edu', 120000) töötaja3 = töötaja ('Muriel', pole, 'muriel@waterloo.edu', 140000) töötaja4 = töötaja ('Rachel', 'wendell ',' rach_3@edureka.co ', 160000) töötaja5 = töötaja (' Zach ',' galifianakis ',' zach_g@edureka.co ', 160000) print (töötaja [0]) print (töötaja3) osakond1 = rida (id = '123456', nimi = 'HR') osakond2 = rida (id = '789012', nimi = 'OPS') osakond3 = rida (id = '345678', nimi = 'FN') osakond4 = rida (id = ' 901234 ', nimi =' DEV ')
Järgmisena loome töötaja ja osakondade eksemplari DepartmentWithEmployees
osakondWithEmployees1 = rida (osakond = osakond1, töötajad = [töötaja1, töötaja2, töötaja5]) osakondTöötajatega2 = rida (osakond = osakond2, töötajad = [töötaja3, töötaja4]) osakondTöötajatega3 = rida (osakond = osakond3, töötajad = [töötaja1, töötaja4, töötaja3 ]) osakondTöötajatega4 = Rida (osakond = osakond4, töötajad = [töötaja2, töötaja3])
Loome oma andmekaader ridade loendist
departemendidWithEmployees_Seq = [departmentWithEmployees1, departmentWithEmployees2] dframe = spark.createDataFrame (departementWithEmployees_Seq) kuva (dframe) dframe.show ()
Pyspark Dataframes Näide 1: FIFA World Cupi andmekogum
Siin on võetud FIFA maailmakarika mängijate andmekogum. Laadime need andmed CSV-vormingussisse aandmekaader ja seejärel õpime tundma erinevaid teisendusi ja toiminguid, mida selle andmeraamiga saab teha.
Andmete lugemine CSV-failist
Laadime andmed CSV-failist. Siin hakkame kasutama spark.read.csv meetod andmete laadimiseks kaadrisse fifa_df. Tegelik meetod on spark.read.format [csv / json] .
fifa_df = spark.read.csv ('faili tee / fifa_players.csv', inferSchema = True, päis = True) fifa_df.show ()
Dataframe'i skeem
Heita pilk skeemile st. andmeraami struktuuri jaoks kasutame printSchema meetod. See annab meile erinevad veerud meie andmekaadris koos andmetüübiga ja selle konkreetse veeru tühistatavad tingimused.
fifa_df.printSchema ()
Veergude nimed ja arv (read ja veerg)
Kui tahame heita pilgu konkreetse andmekaadri nimedele ja ridade ja veergude arvule, kasutame järgmisi meetodeid.
fifa_df.columns // Veergude nimed fifa_df.count () // Ridade arv len (fifa_df.columns) // Veergude arv
37784 8
Konkreetse veeru kirjeldamine
Kui tahame vaadata mõne Dataframe'i konkreetse veeru kokkuvõtet, kasutame kirjeldab meetod. See meetod annab meile antud veeru statistilise kokkuvõtte, kui see pole täpsustatud, annab see andmeraami statistilise kokkuvõtte.
on java massiivi objekt
fifa_df.describe ('Coach Name'). show () fifa_df.describe ('Position'). show ()
Mitme veeru valimine
Kui tahame andmeraamist valida teatud veerud, kasutame valige meetod.
fifa_df.select ('Mängija nimi', 'Treeneri nimi'). näita ()
Erinevate mitme veeru valimine
fifa_df.select ('Mängija nimi', 'Treeneri nimi'). eristatav (). näita ()
Andmete filtreerimine
Andmete filtreerimiseks kasutame vastavalt täpsustatud tingimusele filter käsk. Siin filtreerime oma andmekaadrit tingimusel, et vaste ID peab olema võrdne 1096-ga, ja siis arvutame, mitu kirjet / rida on filtreeritud väljundis.
fifa_df.filter (fifa_df.MatchID == '1096'). show () fifa_df.filter (fifa_df.MatchID == '1096'). count () // loenduse saamiseks
Andmete filtreerimine (mitu parameetrit)
Saame oma andmeid filtreerida mitme tingimuse (JA või VÕI) põhjal
fifa_df.filter ((fifa_df.Positsioon == 'C') && (fifa_df.Event == 'G40' ')). show ()
Andmete sortimine (OrderBy)
Andmete sortimiseks kasutame Telli meetod. Vaikimisi sorteeritakse see kasvavas järjekorras, kuid võime selle muuta ka kahanevas järjekorras.
fifa_df.orderBy (fifa_df.MatchID) .show ()
PySparki andmekaadrid Näide 2: superkangelaste andmekogum
Andmete laadimine
Siin laadime andmed samamoodi nagu varem.
Superhero_df = spark.read.csv ('faili tee / superheros.csv', inferSchema = True, päis = True) Superhero_df.show (10)
Andmete filtreerimine
Superhero_df.filter (Superhero_df.Gender == 'Male'). Arv () // Mees Heros Count Superhero_df.filter (Superhero_df.Gender == 'Female'). Count () // Naiste Heros Count
Andmete rühmitamine
GroupBy kasutatakse andmekaadri rühmitamiseks määratud veeru põhjal. Siin rühmitame andmeraami veeru Race põhjal ja seejärel nupuga loendama funktsioonist leiame konkreetse võistluse arvu.
Race_df = Superhero_df.groupby ('Race') .count () .show ()
SQL-päringute sooritamine
Samuti võime SQL-päringuid edastada otse igale andmeraamile, selleks peame andmeraamist looma tabeli, kasutades registerTempTable meetodit ja seejärel kasutage sqlContext.sql () SQL-päringute edastamiseks.
Superhero_df.registerTempTable ('superhero_table') sqlContext.sql ('valige * superhero_table'ist'). Show ()
sqlContext.sql ('valige superhero_table'ist eristatav (silmade_värv)'). show ()
sqlContext.sql ('valige superhero_table'ist eristatav (silmade_värv)'). count ()
2. 3
sqlContext.sql ('superhero_table'ist valige max (kaal)'). show ()
Ja sellega jõuame selle PySpark Dataframe'i õpetuse lõpuni.
Nii see on, poisid!
Loodan, et teie said aimu sellest, mis on PySpark Dataframe, miks seda selles PySparki Dataframe'i õpetuse ajaveebis tööstuses kasutatakse ja selle funktsioone. Palju õnne, te ei ole enam Dataframe'i algaja. Kui soovite PySparki kohta lisateavet saada ja mõista erinevaid tööstuse kasutamise juhtumeid, vaadake meie lehte Säde Pythoniga ja PySparki õpetus Ajaveeb.