V tem priročniku bomo videli, kako narisati podatke PySpark na histogram. Tukaj lahko vidimo dva scenarija. Histogram je ustvarjen na PySpark Pandas DataFrame in na podatkih RDD. Za ta dva scenarija PySpark ponuja dve funkciji: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.
Tema vsebine:
- Narišite histogram na PySpark Pandas DataFrame
- Narišite histogram na PySpark Pandas DataFrame s parametrom Bins
- Narišite histogram na PySpark RDD tako, da navedete številko vedra
- Narišite histogram na PySpark RDD tako, da določite velikost vsakega vedra
Pyspark.pandas.DataFrame.plot.hist()
V tem scenariju je histogram prikazan kot grafu podobna predstavitev podatkov, ki razdeli vrsto razredov v stolpce (iz PySpark Pandas DataFrame) skupaj z vodoravno osjo x. Os y predstavlja število pojavitev v PySpark Pandas DataFrame za vsak stolpec.
Sintaksa:
pyspark_pandas_DataFrame.plot.hist(bins,...)
Kot izbirni parameter vzame skupno število binov, ki je celo število, in nekaj neobveznih argumentov ključne besede. Če koši niso podani za vsak stolpec, se ustvari vrstica.
Narišite histogram na PySpark Pandas DataFrame
Ustvarite PySpark Pandas DataFrame z 2 stolpcema s 4 zapisi. Narišite histogram brez posredovanja parametrov funkciji plot.hist().
iz pyspark uvoz pandpyspark_pandas_dataframe=pandas.DataFrame({ 'Višina_stavbe' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})
natisni (pyspark_pandas_dataframe)
# Histogram PySpark-Pandas
pyspark_pandas_dataframe.plot.hist()
Izhod:
Tu sta imena stolpcev »Višina_stavbe« in »Območje_gradnje«.
Poglejmo histogram:
Skupno število vrstic v prejšnjem DataFrame je 4. Torej so ustvarjeni 4 zabojniki.
Narišite histogram na PySpark Pandas DataFrame s parametrom Bins
Ustvarite PySpark Pandas DataFrame z 2 stolpcema s 4 zapisi. Narišite histogram brez posredovanja parametrov funkciji plot.hist().
iz pyspark uvoz pandpyspark_pandas_dataframe=pandas.DataFrame({ 'Višina_stavbe' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})
# Histogram PySpark-Pandas z 2 posodama
pyspark_pandas_dataframe.plot.hist(bins= 2 )
Izhod:
Tu sta imena stolpcev »Višina_stavbe« in »Območje_gradnje«.
Poglejmo histogram – rdeča se nanaša na »Building_Area«, modra pa na stolpec »Building_height«:
Kot smo navedli, sta bila ustvarjena samo 2 posodi in 2 vrstici. Štiri vrstice so tukaj združene v 2 vedri.
Narišite histogram na PySpark RDD tako, da navedete številko vedra
Ko delate z RDD, lahko histogram vrnete v obliki tuple, ki vključuje vedra in skupne vrednosti, ki so prisotne v vsakem vedru.
Sintaksa:
pyspark_RDD.histogram(vedra)V tem scenariju posredujemo število veder (celo število), ki so vključena v histogram. Vrne nabor seznamov, ki vključujejo obsege veder in ustrezne pojavitve vrednosti v naslednji obliki: ([razponi veder ...], [pojavitve vrednosti ...]).
Primer 1:
Ustvarimo RDD z imenom »Building_height« z 10 vrednostmi in ustvarimo histogram s 3 vedri.
uvozi pysparkiz pyspark.sql uvozi SparkSession
iz pyspark.rdd uvozite RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Ustvarite RDD z 10 vrednostmi
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
natisni( 'Dejansko:' ,Building_height.collect())
# Določanje 3 veder
Building_height.histogram( 3 )
Izhod:
- Vedro-1 se giblje od 12,0 do 86,223 : v tem obsegu je skupno število vrednosti v vedru 5.
- Vedro-2 se giblje od 86.223 do 160.446 : v tem obsegu je skupno število vrednosti v vedru 3.
- Vedro-3 se giblje od 160,446 do 234,67 : v tem obsegu je skupno število vrednosti, prisotnih v vedru, 2.
Primer 2:
Ustvarite histogram z 2 vedroma na predhodno ustvarjenem RDD.
uvozi pysparkiz pyspark.sql uvozi SparkSession
iz pyspark.rdd uvozite RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Ustvarite RDD z 10 vrednostmi
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
natisni( 'Dejansko:' ,Building_height.collect())
# Določanje 2 veder
Building_height.histogram( 2 )
Izhod:
- Vedro 1 se giblje od 12,0 do 123,335. V tem obsegu je skupno število vrednosti, ki so prisotne v vedru, 8.
- Vedro 2 se giblje od 123,335 do 234,67: v tem obsegu je skupno število vrednosti, ki so prisotne v vedru, 2.
Narišite histogram na PySpark RDD tako, da določite velikost vsakega vedra
V prejšnjem scenariju smo vedra posredovali funkciji RDD.histogram(). Zdaj posredujemo velikosti vedra eno za drugo znotraj seznama in ta seznam posredujemo kot parameter tej funkciji. Prepričajte se, da moramo določiti vsaj dve vedri v naraščajočem/naraščajočem vrstnem redu in ne bo imelo podvojenih vrednosti.
Sintaksa:
pyspark_RDD.histogram([razponi segmentov ...])V tem scenariju posredujemo število veder (celo število), ki so vključena v histogram. Vrne nabor seznamov, ki vključujejo obsege veder in ustrezne pojavitve vrednosti v naslednji obliki: ([razponi veder ...], [pojavitve vrednosti ...]).
Primer 1:
Ustvarimo RDD z imenom »Building_height« z 10 vrednostmi in ustvarimo histogram z obsegom vrednosti buckerja [0, 50, 100, 150, 200, 250].
uvozi pysparkiz pyspark.sql uvozi SparkSession
iz pyspark.rdd uvozite RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Ustvarite RDD z 10 vrednostmi
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
natisni( 'Dejansko:' ,Building_height.collect())
# Določanje vedra z velikostjo - [0,50,100,150,200,250]
Building_height.histogram([ 0 , petdeset , 100 , 150 , 200 , 250 ])
Izhod:
- Vedro 1: (0 do 50) : Skupne vrednosti v tem vedru so 3.
- Vedro 1: (50 do 100) : Skupne vrednosti v tem vedru so 2.
- Vedro 1: (100 do 150) : Skupne vrednosti v tem vedru so 2.
- Vedro 1: (150 do 200) : Skupne vrednosti v tem vedru so 2.
- Vedro 1: (200 do 250) : Skupne vrednosti v tem vedru so 2.
Primer 2:
Ustvarite histogram z obsegom vrednosti vedra [0, 100, 200, 300].
uvozi pysparkiz pyspark.sql uvozi SparkSession
iz pyspark.rdd uvozite RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Ustvarite RDD z 10 vrednostmi
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
natisni( 'Dejansko:' ,Building_height.collect())
# Določanje vedra z velikostjo - [0,100,200,300]
Building_height.histogram([ 0 , 100 , 200 , 300 ])
Izhod:
- Vedro 1: (0 do 100). Skupna vrednost v tem vedru je 5.
- 2. vedro: (100 do 200). Skupna vrednost v tem vedru je 3.
- Vedro 3: (200 do 300). Skupna vrednost v tem vedru je 2.
Zaključek
Videli smo, kako ustvariti histograme v PySpark na PySpark Pandas DataFrame in RDD. histogram() je funkcija, ki se uporablja za pridobivanje histograma podatkov RDD. Plot.hist() se uporablja za prikaz histograma v PySpark Pandas DataFrame. O teh funkcijah smo razpravljali s primeri in zajeli vse parametre.