I denne guide vil vi se, hvordan man plotter PySpark-dataene på histogram. Vi kan se to scenarier her. Histogram oprettes på PySpark Pandas DataFrame og på RDD-data. Til disse to scenarier giver PySpark to funktioner: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.
Emne for indhold:
- Plot Histogram på PySpark Pandas DataFrame
- Plot Histogram på PySpark Pandas DataFrame med Bins-parameteren
- Plot histogram på PySpark RDD ved at angive Bucket Number
- Plot histogram på PySpark RDD ved at specificere størrelsen på hver spand
Pyspark.pandas.DataFrame.plot.hist()
I dette scenarie vises histogram som en graflignende repræsentation af data, der samler en række klasser i kolonner (fra PySpark Pandas DataFrame) sammen med den vandrette x-akse. Y-aksen repræsenterer antallet af forekomster i PySpark Pandas DataFrame for hver kolonne.
Syntaks:
pyspark_pandas_DataFrame.plot.hist(bins,...)
Det tager det samlede antal placeringer som en valgfri parameter, som er et heltal og nogle valgfrie søgeordsargumenter. Hvis beholderne ikke er angivet for hver kolonne, oprettes en bjælke.
Plot Histogram på PySpark Pandas DataFrame
Opret en PySpark Pandas DataFrame med 2 kolonner med 4 poster. Plot histogrammet uden at overføre nogen parameter til plot.hist()-funktionen.
fra pyspark import pandaerpyspark_pandas_dataframe=pandas.DataFrame({ 'Bygningshøjde' :[ 120,56 , 234,67 , 12,0 , 200,45 ], 'Bygningsområde' :[ 2 , 3 , 1 , 4 ]})
print(pyspark_pandas_dataframe)
# PySpark-Pandas histogram
pyspark_pandas_dataframe.plot.hist()
Produktion:
Her er kolonnenavnene 'Bygningshøjde' og 'Bygningsområde'.
Lad os se på histogrammet:
Det samlede antal rækker i den forrige DataFrame er 4. Så der oprettes 4 bins.
Plot Histogram på PySpark Pandas DataFrame med Bins-parameteren
Opret en PySpark Pandas DataFrame med 2 kolonner med 4 poster. Plot histogrammet uden at overføre nogen parameter til plot.hist()-funktionen.
fra pyspark import pandaerpyspark_pandas_dataframe=pandas.DataFrame({ 'Bygningshøjde' :[ 120,56 , 234,67 , 12,0 , 200,45 ], 'Bygningsområde' :[ 2 , 3 , 1 , 4 ]})
# PySpark-Pandas histogram med 2 beholdere
pyspark_pandas_dataframe.plot.hist(bins= 2 )
Produktion:
Her er kolonnenavnene 'Bygningshøjde' og 'Bygningsområde'.
Lad os se på histogrammet - rød henviser til 'Bygningsområde' og blå henviser til kolonnen 'Bygningshøjde':
Som vi specificerede, blev der kun oprettet 2 beholdere og 2 søjler. Fire rækker er gemt i 2 spande her.
Plot histogram på PySpark RDD ved at angive Bucket Number
Når du arbejder med RDD, kan histogram returneres i form af en tupel, der inkluderer buckets og samlede værdier, der er til stede i hver bucket.
Syntaks:
pyspark_RDD.histogram(buckets)I dette scenarie sender vi antallet af buckets (heltal), der er inkluderet i Histogram. Det returnerer tuppelen af lister, der inkluderer bucket-intervallerne og tilsvarende værdiforekomster i følgende format: ([spandintervaller...], [værdiforekomster...]).
Eksempel 1:
Lad os oprette en RDD med navnet 'Building_height' med 10 værdier og oprette et histogram med 3 buckets.
importere pysparkfra pyspark.sql importer SparkSession
fra pyspark.rdd import RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Opret en RDD med 10 værdier
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12,0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
Print( 'Faktiske: ' ,Building_height.collect())
# Angivelse af 3 spande
Building_height.histogram( 3 )
Produktion:
- Bucket-1 spænder fra 12,0 til 86,223: I dette interval er det samlede antal værdier, der findes i spanden, 5.
- Bucket-2 spænder fra 86.223 til 160.446: I dette interval er det samlede antal værdier, der findes i spanden, 3.
- Bucket-3 spænder fra 160.446 til 234.67: I dette interval er det samlede antal værdier, der findes i spanden, 2.
Eksempel 2:
Opret et histogram med 2 buckets på den tidligere oprettede RDD.
importere pysparkfra pyspark.sql importer SparkSession
fra pyspark.rdd import RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Opret en RDD med 10 værdier
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12,0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
Print( 'Faktiske: ' ,Building_height.collect())
# Angivelse af 2 spande
Building_height.histogram( 2 )
Produktion:
- Spand 1 varierer fra 12,0 til 123,335. I dette interval er det samlede antal værdier, der er til stede i bøtten, 8.
- Spand 2 går fra 123,335 til 234,67: I dette interval er det samlede antal værdier, der er til stede i spanden, 2.
Plot histogram på PySpark RDD ved at specificere størrelsen på hver spand
I det forrige scenarie sendte vi buckets til RDD.histogram()-funktionen. Nu sender vi spandstørrelserne efter hinanden i en liste og sender denne liste som en parameter til denne funktion. Sørg for, at vi skal angive mindst to buckets i stigende/stigende rækkefølge, og det vil ikke have duplikerede værdier.
Syntaks:
pyspark_RDD.histogram([spandintervaller...])I dette scenarie sender vi antallet af buckets (heltal), der er inkluderet i histogrammet. Det returnerer tuppelen af lister, der inkluderer bucket-intervallerne og tilsvarende værdiforekomster i følgende format: ([spandintervaller...], [værdiforekomster...]).
Eksempel 1:
Lad os oprette en RDD med navnet 'Building_height' med 10 værdier og oprette et histogram med bucker-værdierne [0, 50, 100, 150, 200, 250].
importere pysparkfra pyspark.sql importer SparkSession
fra pyspark.rdd import RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Opret en RDD med 10 værdier
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12,0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
Print( 'Faktiske: ' ,Building_height.collect())
# Angivelse af spand med størrelse - [0,50,100,150,200,250]
Bygningshøjde.histogram([ 0 , halvtreds , 100 , 150 , 200 , 250 ])
Produktion:
- Spand 1: (0 til 50): Samlede værdier i denne spand er 3.
- Spand 1: (50 til 100): Samlede værdier i denne spand er 2.
- Spand 1: (100 til 150) : Samlede værdier i denne spand er 2.
- Spand 1: (150 til 200) : Samlede værdier i denne spand er 2.
- Spand 1: (200 til 250) : Samlede værdier i denne spand er 2.
Eksempel 2:
Opret et histogram med bucket-området af værdier [0, 100, 200, 300].
importere pysparkfra pyspark.sql importer SparkSession
fra pyspark.rdd import RDD
spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()
# Opret en RDD med 10 værdier
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12,0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
Print( 'Faktiske: ' ,Building_height.collect())
# Angivelse af spand med størrelse - [0,100,200,300]
Bygningshøjde.histogram([ 0 , 100 , 200 , 300 ])
Produktion:
- Spand 1: (0 til 100). Den samlede værdi i denne spand er 5.
- Spand 2: (100 til 200). Den samlede værdi i denne spand er 3.
- Spand 3: (200 til 300). Den samlede værdi i denne spand er 2.
Konklusion
Vi har set, hvordan man laver histogrammer i PySpark på PySpark Pandas DataFrame og RDD. histogram() er den funktion, der bruges til at få histogrammet på RDD-data. plot.hist() bruges til at vise histogrammet på PySpark Pandas DataFrame. Vi diskuterede disse funktioner med eksempler ved at dække alle parametrene.