Pyspark - Max

Pyspark - Max
In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame. max () in pyspark restituisce il valore massimo da una colonna particolare nel frame dati. Possiamo ottenere il valore massimo in tre modi.
  1. Metodo 1: utilizzando il metodo Select ()
  2. Metodo 2: utilizzando Agg () Metodo
  3. Metodo 3: usando il metodo GroupBy ()

Prima di allora, dobbiamo creare il telaio di dati pyspark per la dimostrazione.

Esempio:

Creeremo un frame dati con 5 righe e 6 colonne e lo mostreremo usando il metodo show ().

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#Display DataFrame
df.spettacolo()

Screenshot di output:

Metodo 1: utilizzando il metodo Select ()

Possiamo ottenere il valore massimo dalla colonna nel frame dati utilizzando il metodo Select (). Usando il metodo Max (), possiamo ottenere il valore massimo dalla colonna. Per usare questo metodo, dobbiamo importarlo da Pyspark.SQL.Modulo Funzioni e, infine, possiamo usare il metodo collect () per ottenere il massimo dalla colonna.

Sintassi:

df.Seleziona (max ('column_name'))

Dove,

  1. DF è il frame dati pyspark input
  2. Column_name è la colonna per ottenere il valore massimo

Se vogliamo restituire il valore massimo da più colonne, dobbiamo utilizzare il metodo Max () all'interno del metodo Select () specificando il nome della colonna separato da una virgola.

Sintassi:

df.Seleziona (max ('column_name'), max ('column_name'), .. ., max ('column_name'))

Dove,

  1. DF è il frame dati pyspark input
  2. Column_name è la colonna per ottenere il valore massimo

Esempio 1: colonna singola

Questo esempio otterrà il valore massimo dalla colonna di altezza nel frame dati pyspark.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione massima - massima
da pyspark.SQL.funzioni importa max
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN Il massimo dalla colonna di altezza
df.Seleziona (max ('altezza')).raccogliere()

Produzione:

[Riga (max (altezza) = 5.79)]

Nell'esempio sopra, viene restituito il valore massimo dalla colonna di altezza.

Esempio 2: più colonne

Questo esempio otterrà il valore massimo dall'altezza, dall'età e dalle colonne di peso nel frame dati Pyspark.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#importa la funzione massima - massima
da pyspark.SQL.funzioni importa max
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN Il massimo dall'altezza, dall'età e dalle colonne di peso
df.Seleziona (max ('altezza'), max ('età'), max ('peso')).raccogliere()

Produzione:

[Riga (max (altezza) = 5.79, max (età) = 37, max (peso) = 67)]

Nell'esempio sopra, viene restituito il valore massimo dall'altezza, dall'età e dalle colonne di peso.

Metodo 2: utilizzando Agg () Metodo

Possiamo ottenere il valore massimo dalla colonna nel frame dati utilizzando il metodo Agg (). Questo metodo è noto come aggregazione, che raggruppa i valori all'interno di una colonna. Ci vorrà il dizionario come parametro in quella chiave sarà il nome della colonna e il valore è la funzione aggregata, i.e., max. Usando il metodo max (), possiamo ottenere il valore massimo dalla colonna e, infine, possiamo usare il metodo collect () per ottenere il massimo dalla colonna.

Sintassi:

df.agg ('column_name': max)

Dove,

  1. DF è il frame dati pyspark input
  2. Column_name è la colonna per ottenere il valore massimo
  3. max è una funzione di aggregazione utilizzata per restituire il valore massimo

Se vogliamo restituire il valore massimo da più colonne, dobbiamo specificare il nome della colonna con la funzione max separata da una virgola.

Sintassi:

df.agg ('column_name': max, 'column_name': max,…, 'column_name': max)

Dove,

  1. DF è il frame dati pyspark input
  2. Column_name è la colonna per ottenere il valore massimo
  3. max è una funzione di aggregazione utilizzata per restituire il valore massimo

Esempio 1: colonna singola

Questo esempio otterrà il valore massimo dalla colonna di altezza nel frame dati pyspark.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23, 'altezza': 5.79,
'peso': 67, 'indirizzo': 'guntur',
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN Il massimo dalla colonna di altezza
df.agg ('altezza': 'max').raccogliere()

Produzione:

[Riga (max (altezza) = 5.79)]

Nell'esempio sopra, viene restituito il valore massimo dalla colonna di altezza.

Esempio 2: più colonne

Questo esempio otterrà il valore massimo dall'altezza, dall'età e dalle colonne di peso nel frame dati Pyspark.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN Il massimo dall'altezza, dall'età e dalle colonne di peso
df.Agg ("altezza": "max", "age": "max", "peso": "max").raccogliere()

Produzione:

[Riga (max (peso) = 67, max (età) = 37, max (altezza) = 5.79)]

Nell'esempio sopra, viene restituito il valore massimo dall'altezza, dall'età e dalle colonne di peso.

Metodo 3: usando il metodo GroupBy ()

Possiamo ottenere il valore massimo dalla colonna nel metodo di dati utilizzando il metodo GroupBy (). Questo metodo restituirà il valore massimo raggruppando valori simili in una colonna. Dobbiamo usare la funzione max () dopo aver eseguito la funzione GroupBy ()

Sintassi:

df.Groupby (Group_Column). max ('column_name')

Dove,

  1. DF è il frame dati pyspark input
  2. Group_column è la colonna in cui i valori sono raggruppati in base a questa colonna
  3. Column_name è la colonna per ottenere il valore massimo
  4. max è una funzione di aggregazione utilizzata per restituire il valore massimo.

Esempio 1:

In questo esempio, raggrupperemo la colonna dell'indirizzo con la colonna di altezza per restituire il valore massimo in base alla colonna di questo indirizzo.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN Il massimo dal raggruppamento della colonna di altezza con colonna di indirizzo
df.GroupBy ('indirizzo').altezza massima').raccogliere()

Produzione:

Ci sono tre valori univoci nel campo dell'indirizzo: Hyd, Guntur e Patna. Quindi il massimo verrà formato raggruppando i valori attraverso i valori dell'indirizzo.

[Riga (indirizzo = 'hyd', max (altezza) = 5.59),
Riga (indirizzo = 'guntur', max (altezza) = 5.79),
Riga (indirizzo = 'patna', max (altezza) = 2.79)]

Esempio 2:

In questo esempio, raggrupperemo la colonna dell'indirizzo con la colonna Peso per restituire il valore massimo in base alla colonna di questo indirizzo.

#import il modulo pyspark
importare pyspark
#IMPORT SPARKSESSION per la creazione di una sessione
da pyspark.SQL Importazione di importazione
#Crea un'app chiamata LinuxHint
Spark_app = SparkSession.costruttore.appname ('LinuxHint').getOrCreate ()
# Crea dati studenteschi con 5 righe e 6 attributi
Studenti = [
'rollno': '001', 'name': 'sravan', 'age': 23,
'altezza': 5.79, "peso": 67, "indirizzo": "guntur",
'rollno': '002', 'name': 'ojaswi', 'age': 16,
'altezza': 3.79, 'peso': 34, 'indirizzo': 'hyd',
'rollno': '003', 'name': 'gnanesh chowdary', 'age': 7,
'altezza': 2.79, 'peso': 17, 'indirizzo': 'patna',
'rollno': '004', 'name': 'rohith', 'age': 9,
'altezza': 3.69, 'peso': 28, 'indirizzo': 'hyd',
'rollno': '005', 'name': 'sridevi', 'age': 37,
'altezza': 5.59, 'peso': 54, 'indirizzo': 'hyd']
# Crea il frame dati
df = spark_app.CreatedataFrame (Students)
#RETURN Il massimo dal raggruppamento della colonna Peso con colonna Indirizzo
df.GroupBy ('indirizzo').max ('peso').raccogliere()

Produzione:

Ci sono tre valori univoci nel campo dell'indirizzo: Hyd, Guntur e Patna. Quindi il massimo verrà formato raggruppando i valori attraverso i valori dell'indirizzo.

[Riga (indirizzo = 'hyd', max (peso) = 54),
Riga (indirizzo = 'guntur', max (peso) = 67),
Riga (indirizzo = 'patna', max (peso) = 17)]

Conclusione:

Abbiamo discusso di come ottenere il valore massimo dai metodi PysPark Data Using the Select () e Agg (). Per ottenere il valore massimo raggruppandosi con altre colonne, abbiamo usato il gruppo insieme alla funzione max (). Vedi anche l'articolo Pyspark Min ().