Tässä oppaassa näemme, kuinka PySpark-tiedot piirretään histogrammiin. Näemme tässä kaksi skenaariota. Histogrammi luodaan PySpark Pandas DataFrame- ja RDD-tietoihin. PySpark tarjoaa näille kahdelle skenaariolle kaksi toimintoa: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.
Sisällön aihe:
- Piirrä histogrammi PySpark Pandas DataFrameen
- Piirrä histogrammi PySpark Pandas DataFrameen Bins-parametrilla
- Piirrä histogrammi PySpark RDD:lle määrittämällä kauhan numero
- Piirrä histogrammi PySpark RDD:lle määrittämällä kunkin kauhan koon
Pyspark.pandas.DataFrame.plot.hist()
Tässä skenaariossa histogrammi näytetään datakaaviomaisena esityksenä, joka ryhmittelee useita luokkia sarakkeisiin (PySpark Pandas DataFrame -kehyksestä) vaakasuuntaisen x-akselin kanssa. Y-akseli edustaa kunkin sarakkeen esiintymien lukumäärää PySpark Pandas DataFrame -kehyksessä.
Syntaksi:
pyspark_pandas_DataFrame.plot.hist(bins,...)
Se ottaa laatikoiden kokonaismäärän valinnaisena parametrina, joka on kokonaisluku ja joitain valinnaisia avainsanaargumentteja. Jos laatikoita ei ole määritetty jokaiselle sarakkeelle, luodaan palkki.
Piirrä histogrammi PySpark Pandas DataFrameen
Luo PySpark Pandas DataFrame, jossa on 2 saraketta ja 4 tietuetta. Piirrä histogrammi välittämättä mitään parametria plot.hist()-funktiolle.
Pyspark tuontipandoistapyspark_pandas_dataframe=pandas.DataFrame({ 'Rakennuskorkeus' :[ 120,56 , 234,67 , 12.0 , 200.45 ], 'Rakennusalue' :[ 2 , 3 , 1 , 4 ]})
print(pyspark_pandas_dataframe)
# PySpark-Pandas-histogrammi
pyspark_pandas_dataframe.plot.hist()
Lähtö:
Tässä sarakkeiden nimet ovat 'Building_height' ja 'Building_Area'.
Katsotaanpa histogrammia:
Edellisen DataFramen rivien kokonaismäärä on 4. Joten luodaan 4 laatikkoa.
Piirrä histogrammi PySpark Pandas DataFrameen Bins-parametrilla
Luo PySpark Pandas DataFrame, jossa on 2 saraketta ja 4 tietuetta. Piirrä histogrammi välittämättä mitään parametria plot.hist()-funktiolle.
Pyspark tuontipandoistapyspark_pandas_dataframe=pandas.DataFrame({ 'Rakennuskorkeus' :[ 120,56 , 234,67 , 12.0 , 200.45 ], 'Rakennusalue' :[ 2 , 3 , 1 , 4 ]})
# PySpark-Pandas-histogrammi, jossa on 2 laatikkoa
pyspark_pandas_dataframe.plot.hist(bins= 2 )
Lähtö:
Tässä sarakkeiden nimet ovat 'Building_height' ja 'Building_Area'.
Katsotaanpa histogrammia – punainen viittaa 'Building_Area' -alueeseen ja sininen viittaa 'Building_height' -sarakkeeseen:
Kuten määritimme, luotiin vain 2 säiliötä ja 2 palkkia. Tässä neljä riviä on koottu 2 ämpäriin.
Piirrä histogrammi PySpark RDD:lle määrittämällä kauhan numero
Kun työskentelet RDD:n kanssa, histogrammi voidaan palauttaa monikkona, joka sisältää kussakin ryhmässä olevat ryhmät ja kokonaisarvot.
Syntaksi:
pyspark_RDD.histogrammi(ämpärit)Tässä skenaariossa välitämme histogrammiin sisältyvien segmenttien (kokonaislukujen) määrän. Se palauttaa luettelot, jotka sisältävät ryhmäalueet ja vastaavat arvoesiintymät seuraavassa muodossa: ([ryhmäalueet…], [arvoesiintymät…]).
Esimerkki 1:
Luodaan RDD nimeltä 'Building_height', jossa on 10 arvoa ja luodaan histogrammi, jossa on 3 segmenttiä.
tuonti pysparkpyspark.sql-tiedostosta tuo SparkSession
pyspark.rdd:stä tuonti RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Luo RDD 10 arvolla
Building_height =spark_app.sparkContext.parallelise([ 120,56 , 234,67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
Tulosta( 'Todellinen:' ,Rakennuskorkeus.kerää())
# Määritetään 3 ämpäriä
Building_height.histogram( 3 )
Lähtö:
- Ryhmä-1 vaihtelee välillä 12,0 - 86,223 : Tällä alueella ryhmässä olevien arvojen kokonaismäärä on 5.
- Ryhmä-2 vaihtelee välillä 86 223 - 160 446 : Tällä alueella ryhmässä olevien arvojen kokonaismäärä on 3.
- Ryhmä-3 vaihtelee välillä 160.446 - 234.67 : Tällä alueella ryhmässä olevien arvojen kokonaismäärä on 2.
Esimerkki 2:
Luo histogrammi, jossa on 2 ryhmää aiemmin luodulle RDD:lle.
tuonti pysparkpyspark.sql-tiedostosta tuo SparkSession
pyspark.rdd:stä tuonti RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Luo RDD 10 arvolla
Building_height =spark_app.sparkContext.parallelise([ 120,56 , 234,67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
Tulosta( 'Todellinen:' ,Rakennuskorkeus.kerää())
# Määritetään 2 ämpäriä
Building_height.histogram( 2 )
Lähtö:
- Ryhmä 1 vaihtelee välillä 12,0 - 123,335. Tällä alueella ryhmässä olevien arvojen kokonaismäärä on 8.
- Ryhmä 2 vaihtelee välillä 123 335 - 234,67: Tällä alueella ryhmässä olevien arvojen kokonaismäärä on 2.
Piirrä histogrammi PySpark RDD:lle määrittämällä kunkin kauhan koon
Edellisessä skenaariossa välitimme ryhmät RDD.histogram()-funktiolle. Nyt välitämme kauhan koot peräkkäin luettelon sisällä ja välitämme tämän luettelon parametrina tälle funktiolle. Varmista, että meidän on määritettävä vähintään kaksi ryhmää kasvavassa/nousevassa järjestyksessä, jotta sillä ei ole päällekkäisiä arvoja.
Syntaksi:
pyspark_RDD.histogrammi([bucket ranges…])Tässä skenaariossa välitämme histogrammiin sisältyvien segmenttien (kokonaisluku) määrän. Se palauttaa luettelot, jotka sisältävät ryhmäalueet ja vastaavat arvoesiintymät seuraavassa muodossa: ([ryhmäalueet…], [arvoesiintymät…]).
Esimerkki 1:
Luodaan RDD nimeltä 'Building_height', jossa on 10 arvoa ja luodaan histogrammi, jossa on arvoalue [0, 50, 100, 150, 200, 250].
tuonti pysparkpyspark.sql-tiedostosta tuo SparkSession
pyspark.rdd:stä tuonti RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Luo RDD 10 arvolla
Building_height =spark_app.sparkContext.parallelise([ 120,56 , 234,67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
Tulosta( 'Todellinen:' ,Rakennuskorkeus.kerää())
# Määritetään kauhan koko - [0,50,100,150,200,250]
Building_height.histogram([ 0 , viisikymmentä , 100 , 150 , 200 , 250 ])
Lähtö:
- Ryhmä 1: (0 - 50) : Tämän ryhmän kokonaisarvot ovat 3.
- Ryhmä 1: (50 - 100) : Tämän ryhmän kokonaisarvot ovat 2.
- Ryhmä 1: (100 - 150) : Tämän ryhmän kokonaisarvot ovat 2.
- Ryhmä 1: (150 - 200) : Tämän ryhmän kokonaisarvot ovat 2.
- Ryhmä 1: (200 - 250) : Tämän ryhmän kokonaisarvot ovat 2.
Esimerkki 2:
Luo histogrammi, jossa on arvoalue [0, 100, 200, 300].
tuonti pysparkpyspark.sql-tiedostosta tuo SparkSession
pyspark.rdd:stä tuonti RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Luo RDD 10 arvolla
Building_height =spark_app.sparkContext.parallelise([ 120,56 , 234,67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
Tulosta( 'Todellinen:' ,Rakennuskorkeus.kerää())
# Määritetään kauhan koko - [0,100,200,300]
Building_height.histogram([ 0 , 100 , 200 , 300 ])
Lähtö:
- Astia 1: (0 - 100). Tämän kauhan kokonaisarvo on 5.
- Ämpäri 2: (100 - 200). Tämän kauhan kokonaisarvo on 3.
- Ämpäri 3: (200 - 300). Tämän kauhan kokonaisarvo on 2.
Johtopäätös
Olemme nähneet kuinka luoda histogrammeja PySparkissa PySpark Pandas DataFramessa ja RDD:ssä. histogrammi() on funktio, jota käytetään RDD-tietojen histogrammin saamiseksi. Kohdetta plot.hist() käytetään histogrammin näyttämiseen PySpark Pandas DataFramessa. Käsittelimme näitä toimintoja esimerkein kattamalla kaikki parametrit.