Com traçar dades de PySpark a l'histograma

Com Tracar Dades De Pyspark A L Histograma



A PySpark, la visualització de dades es fa mitjançant histograma i altres tècniques de traçat. Això ajuda a comprendre els enginyers de Data Science amb les dades en representació gràfica. El temps és una limitació important per a ells. Amb aquestes visualitzacions, poden analitzar les dades més ràpidament en comparació amb altres formats de dades com text/csv i altres.

En aquesta guia, veurem com traçar les dades de PySpark a l'histograma. Aquí podem veure dos escenaris. L'histograma es crea a PySpark Pandas DataFrame i a dades RDD. Per a aquests dos escenaris, PySpark ofereix dues funcions: pyspark.pandas.DataFrame.plot.hist() i pyspark.RDD.histogram.

Tema de continguts:







Pyspark.pandas.DataFrame.plot.hist()

En aquest escenari, l'histograma es mostra com una representació gràfica de dades que agrupa una sèrie de classes en columnes (del PySpark Pandas DataFrame) juntament amb l'eix x horitzontal. L'eix Y representa el nombre d'ocurrències al PySpark Pandas DataFrame per a cada columna.



Sintaxi:



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

Pren el nombre total de papereres com a paràmetre opcional que és un nombre enter i alguns arguments de paraula clau opcionals. Si no s'especifiquen les safates per a cada columna, es crea una barra.





Traceu l'histograma al PySpark Pandas DataFrame

Creeu un PySpark Pandas DataFrame amb 2 columnes amb 4 registres. Traceu l'histograma sense passar cap paràmetre a la funció plot.hist().

de pyspark import pandas

pyspark_pandas_dataframe=pandas.DataFrame({ 'Alçada_edifici' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Àrea_edifici' :[ 2 , 3 , 1 , 4 ]})

imprimir(pyspark_pandas_dataframe)

# Histograma PySpark-Pandas

pyspark_pandas_dataframe.plot.hist()

Sortida:



Aquí, els noms de les columnes són 'Building_height' i 'Building_Area'.

Vegem l'histograma:

El nombre total de files del DataFrame anterior és 4. Per tant, es creen 4 safates.

Traceu l'histograma al PySpark Pandas DataFrame amb el paràmetre Bins

Creeu un PySpark Pandas DataFrame amb 2 columnes amb 4 registres. Traceu l'histograma sense passar cap paràmetre a la funció plot.hist().

de pyspark import pandas

pyspark_pandas_dataframe=pandas.DataFrame({ 'Alçada_edifici' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Àrea_edifici' :[ 2 , 3 , 1 , 4 ]})

# Histograma PySpark-Pandas amb 2 contenidors

pyspark_pandas_dataframe.plot.hist(bins= 2 )

Sortida:

Aquí, els noms de les columnes són 'Building_height' i 'Building_Area'.

Mirem l'histograma: el vermell fa referència a 'Àrea_edifici' i el blau fa referència a la columna 'Altura_edifici':

Com hem especificat, només es van crear 2 contenidors i 2 barres. Quatre files s'emmagatzemen en 2 galledes aquí.

Traceu l'histograma al PySpark RDD especificant el número de cub

Quan esteu treballant amb RDD, l'histograma es pot tornar en forma de tupla que inclogui els dipòsits i els valors totals que hi ha a cada compartiment.

Sintaxi:

pyspark_RDD.histogram(cubs)

En aquest escenari, passem el nombre de cubs (nombres) que s'inclouen a l'histograma. Retorna la tupla de llistes que inclouen els intervals de compartiment i les ocurrències de valors corresponents en el format següent: ([intervals de cub...], [ocurrències de valors...]).

Exemple 1:

Creem un RDD anomenat 'Building_height' amb 10 valors i creem un histograma amb 3 galledes.

importar pyspark

des de pyspark.sql importació SparkSession

des de pyspark.rdd importació RDD

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

# Creeu un RDD amb 10 valors

Alçada_edifici =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

imprimir( 'Real:' ,Altura_edifici.collect())

# Especificant 3 galledes

alçada_edifici.histograma( 3 )

Sortida:

  1. Bucket-1 oscil·la entre 12,0 i 86,223 : en aquest interval, el nombre total de valors presents al cub és 5.
  2. Bucket-2 oscil·la entre 86.223 i 160.446 : en aquest interval, el nombre total de valors presents al cub és 3.
  3. Bucket-3 oscil·la entre 160,446 i 234,67 : en aquest interval, el nombre total de valors presents al cub és 2.

Exemple 2:

Creeu un histograma amb 2 cubs al RDD creat anteriorment.

importar pyspark

des de pyspark.sql importació SparkSession

des de pyspark.rdd importació RDD

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

# Creeu un RDD amb 10 valors

Alçada_edifici =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

imprimir( 'Real:' ,Altura_edifici.collect())

# Especificant 2 galledes

alçada_edifici.histograma( 2 )

Sortida:

  1. El dipòsit 1 oscil·la entre 12,0 i 123,335. En aquest interval, el nombre total de valors que hi ha al cub és 8.
  2. El dipòsit 2 oscil·la entre 123,335 i 234,67: en aquest interval, el nombre total de valors que hi ha al dipòsit és 2.

Traceu l'histograma al PySpark RDD especificant la mida de cada cub

En l'escenari anterior, vam passar els cubs a la funció RDD.histogram(). Ara, passem les mides del cub una darrere l'altra dins d'una llista i passem aquesta llista com a paràmetre a aquesta funció. Assegureu-vos que hem d'especificar almenys dos compartiments en ordre creixent/creixent i que no tindran valors duplicats.

Sintaxi:

pyspark_RDD.histogram([intervals de cub...])

En aquest escenari, passem el nombre de cubs (nombres enters) que s'inclouen a l'histograma. Retorna la tupla de llistes que inclouen els intervals de compartiment i les ocurrències de valors corresponents en el format següent: ([intervals de cub...], [ocurrències de valors...]).

Exemple 1:

Creem un RDD anomenat 'Building_height' amb 10 valors i creem un histograma amb l'interval de valors [0, 50, 100, 150, 200, 250].

importar pyspark

des de pyspark.sql importació SparkSession

des de pyspark.rdd importació RDD

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

# Creeu un RDD amb 10 valors

Alçada_edifici =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

imprimir( 'Real:' ,Altura_edifici.collect())

# Especificació de la galleda amb la mida: [0,50,100,150,200,250]

Alçada_edifici.histograma([ 0 , 50 , 100 , 150 , 200 , 250 ])

Sortida:

  1. Dipòsit 1: (0 a 50): els valors totals d'aquest compartiment són 3.
  2. Dipòsit 1: (de 50 a 100): els valors totals d'aquest compartiment són 2.
  3. Dipòsit 1: (100 a 150): els valors totals d'aquest compartiment són 2.
  4. Dipòsit 1: (150 a 200): els valors totals d'aquest compartiment són 2.
  5. Dipòsit 1: (200 a 250): els valors totals d'aquest compartiment són 2.

Exemple 2:

Creeu un histograma amb l'interval de valors [0, 100, 200, 300].

importar pyspark

des de pyspark.sql importació SparkSession

des de pyspark.rdd importació RDD

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

# Creeu un RDD amb 10 valors

Alçada_edifici =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

imprimir( 'Real:' ,Altura_edifici.collect())

# Especificació del cub amb la mida: [0.100.200.300]

Alçada_edifici.histograma([ 0 , 100 , 200 , 300 ])

Sortida:

  1. Cubell 1: (0 a 100). El valor total d'aquest cub és de 5.
  2. Cubell 2: (100 a 200). El valor total d'aquest cub és de 3.
  3. Cubell 3: (200 a 300). El valor total d'aquest cub és 2.

Conclusió

Hem vist com crear histogrames a PySpark a PySpark Pandas DataFrame i RDD. histogram() és la funció que s'utilitza per obtenir l'histograma a les dades RDD. El plot.hist() s'utilitza per mostrar l'histograma al PySpark Pandas DataFrame. Hem comentat aquestes funcions amb exemples cobrint tots els paràmetres.