Hvordan plotte PySpark-data på histogram

Hvordan Plotte Pyspark Data Pa Histogram



I PySpark gjøres datavisualisering ved hjelp av histogram og andre plotteteknikker. Dette hjelper til med å forstå datavitenskapsingeniørene med dataene i grafisk representasjon. Tid er en viktig begrensning for dem. Ved hjelp av disse visualiseringene kan de analysere dataene raskere sammenlignet med andre dataformater som tekst/csv og andre.

I denne veiledningen vil vi se hvordan du plotter PySpark-dataene på histogram. Vi kan se to scenarier her. Histogram lages på PySpark Pandas DataFrame og på RDD-data. For disse to scenariene tilbyr PySpark to funksjoner: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

Emne for innhold:







Pyspark.pandas.DataFrame.plot.hist()

I dette scenariet vises histogram som en graflignende representasjon av data som samler en rekke klasser i kolonner (fra PySpark Pandas DataFrame) sammen med den horisontale x-aksen. Y-aksen representerer antall forekomster i PySpark Pandas DataFrame for hver kolonne.



Syntaks:



pyspark_pandas_DataFrame.plot.hist(bins,...)

Den tar det totale antallet hyller som en valgfri parameter som er et heltall og noen valgfrie søkeordargumenter. Hvis hyllene ikke er spesifisert for hver kolonne, opprettes en stolpe.





Plott histogram på PySpark Pandas DataFrame

Lag en PySpark Pandas DataFrame med 2 kolonner med 4 poster. Plott histogrammet uten å sende noen parameter til funksjonen plot.hist().

fra pyspark import pandaer

pyspark_pandas_dataframe=pandas.DataFrame({ 'Bygningshøyde' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})

print(pyspark_pandas_dataframe)

# PySpark-Pandas histogram

pyspark_pandas_dataframe.plot.hist()

Produksjon:



Her er kolonnenavnene 'Building_height' og 'Building_Area'.

La oss se på histogrammet:

Det totale antallet rader i forrige DataFrame er 4. Så det opprettes 4 hyller.

Plott histogram på PySpark Pandas DataFrame med Bins-parameteren

Lag en PySpark Pandas DataFrame med 2 kolonner med 4 poster. Plott histogrammet uten å sende noen parameter til funksjonen plot.hist().

fra pyspark import pandaer

pyspark_pandas_dataframe=pandas.DataFrame({ 'Bygningshøyde' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})

# PySpark-Pandas histogram med 2 søppelkasser

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Produksjon:

Her er kolonnenavnene 'Building_height' og 'Building_Area'.

La oss se på histogrammet - rødt refererer til 'Building_Area' og blått refererer til 'Building_height'-kolonnen:

Som vi spesifiserte, ble det bare opprettet 2 hyller og 2 stolper. Fire rader er plassert i 2 bøtter her.

Plott histogram på PySpark RDD ved å spesifisere bøttenummer

Når du arbeider med RDD, kan histogram returneres i form av en tuppel som inkluderer bøttene og totale verdier som er tilstede i hver bøtte.

Syntaks:

pyspark_RDD.histogram(buckets)

I dette scenariet sender vi antall bøtte (heltall) som er inkludert i histogrammet. Den returnerer tuppelen av lister som inkluderer bøtteområdene og tilsvarende verdiforekomster i følgende format: ([spanneområder...], [verdiforekomster...]).

Eksempel 1:

La oss lage en RDD kalt 'Building_height' med 10 verdier og lage et histogram med 3 bøtter.

importere pyspark

fra pyspark.sql importer SparkSession

fra pyspark.rdd import RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Lag en RDD med 10 verdier

Building_height =spark_app.sparkContext.parallellize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

skrive ut( 'Faktiske: ' ,Building_height.collect())

# Spesifiserer 3 bøtter

Building_height.histogram( 3 )

Produksjon:

  1. Bøtte-1 varierer fra 12,0 til 86,223: I dette området er det totale antallet verdier i bøtten 5.
  2. Bøtte-2 varierer fra 86.223 til 160.446: I dette området er det totale antallet verdier i bøtta 3.
  3. Bøtte-3 varierer fra 160.446 til 234.67: I dette området er det totale antallet verdier i bøtta 2.

Eksempel 2:

Lag et histogram med 2 bøtter på den tidligere opprettede RDD-en.

importere pyspark

fra pyspark.sql importer SparkSession

fra pyspark.rdd import RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Lag en RDD med 10 verdier

Building_height =spark_app.sparkContext.parallellize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

skrive ut( 'Faktiske: ' ,Building_height.collect())

# Spesifiserer 2 bøtter

Building_height.histogram( 2 )

Produksjon:

  1. Bøtte 1 varierer fra 12,0 til 123,335. I dette området er det totale antallet verdier som er tilstede i bøtten 8.
  2. Bøtte 2 varierer fra 123.335 til 234.67: I dette området er det totale antallet verdier som er tilstede i bøtten 2.

Plott histogram på PySpark RDD ved å spesifisere størrelsen på hver bøtte

I forrige scenario sendte vi bøttene til funksjonen RDD.histogram(). Nå sender vi bøttestørrelsene etter hverandre i en liste og sender denne listen som en parameter til denne funksjonen. Sørg for at vi må spesifisere minst to bøtter i økende/stigende rekkefølge, og det vil ikke ha dupliserte verdier.

Syntaks:

pyspark_RDD.histogram([bøtteområder...])

I dette scenariet sender vi antall bøtte (heltall) som er inkludert i histogrammet. Den returnerer tuppelen av lister som inkluderer bøtteområdene og tilsvarende verdiforekomster i følgende format: ([spanneområder...], [verdiforekomster...]).

Eksempel 1:

La oss lage en RDD kalt 'Building_height' med 10 verdier og lage et histogram med bucker-verdiene [0, 50, 100, 150, 200, 250].

importere pyspark

fra pyspark.sql importer SparkSession

fra pyspark.rdd import RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Lag en RDD med 10 verdier

Building_height =spark_app.sparkContext.parallellize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

skrive ut( 'Faktiske: ' ,Building_height.collect())

# Spesifiserer bøtte med størrelse - [0,50,100,150,200,250]

Building_height.histogram([ 0 , femti , 100 , 150 , 200 , 250 ])

Produksjon:

  1. Bøtte 1: (0 til 50): Totalverdiene i denne bøtten er 3.
  2. Bøtte 1: (50 til 100) : Totale verdier i denne bøtten er 2.
  3. Bøtte 1: (100 til 150) : Totale verdier i denne bøtten er 2.
  4. Bøtte 1: (150 til 200) : Totale verdier i denne bøtten er 2.
  5. Bøtte 1: (200 til 250) : Totale verdier i denne bøtten er 2.

Eksempel 2:

Lag et histogram med verdiområdet [0, 100, 200, 300].

importere pyspark

fra pyspark.sql importer SparkSession

fra pyspark.rdd import RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Lag en RDD med 10 verdier

Building_height =spark_app.sparkContext.parallellize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

skrive ut( 'Faktiske: ' ,Building_height.collect())

# Spesifiserer bøtte med størrelse - [0,100,200,300]

Building_height.histogram([ 0 , 100 , 200 , 300 ])

Produksjon:

  1. Bøtte 1: (0 til 100). Den totale verdien i denne bøtten er 5.
  2. Bøtte 2: (100 til 200). Den totale verdien i denne bøtten er 3.
  3. Bøtte 3: (200 til 300). Den totale verdien i denne bøtten er 2.

Konklusjon

Vi har sett hvordan du lager histogrammer i PySpark på PySpark Pandas DataFrame og RDD. histogram() er funksjonen som brukes for å få histogrammet på RDD-data. plot.hist() brukes til å vise histogrammet på PySpark Pandas DataFrame. Vi diskuterte disse funksjonene med eksempler ved å dekke alle parameterne.