In Python, Pyspark è un modulo Spark utilizzato per fornire un tipo di elaborazione simile come Spark utilizzando DataFrame. Sum () in pyspark restituisce il valore totale (somma) da una colonna particolare nel frame dati. Possiamo ottenere il valore della somma in tre modi.
- Metodo 1: utilizzando il metodo Select ()
- Metodo 2: utilizzando Agg () Metodo
- 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()
Produzione:
Metodo 1: utilizzando il metodo Select ()
Possiamo ottenere il valore totale dalla colonna nel frame dati utilizzando il metodo Select (). Usando il metodo Sum (), possiamo ottenere il valore totale dalla colonna. Per usare questo metodo, dobbiamo importarlo da Pyspark.SQL.Modulo Funzioni e, infine, possiamo usare il metodo Collect () per ottenere la somma dalla colonna
Sintassi:
df.Seleziona (Sum ('column_name'))
Dove,
- DF è il frame dati pyspark input
- column_name è la colonna per ottenere il valore della somma
Se vogliamo restituire il valore totale da più colonne, dobbiamo utilizzare il metodo Sum () all'interno del metodo Select () specificando il nome della colonna separato da una virgola.
Sintassi:
df.Seleziona (Sum ('column_name'), sum ('column_name'), .. ., Sum ('column_name'))
Dove,
- DF è il frame dati pyspark input
- column_name è la colonna per ottenere il valore della somma
Esempio 1: colonna singola
Questo esempio otterrà il valore totale 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 di somma
da pyspark.SQL.funzioni Somma 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)
#Trenturn la somma dalla colonna di altezza
df.Seleziona (Sum ('altezza')).raccogliere()
Produzione:
[Riga (somma (altezza) = 21.65)]
Il valore totale (somma) dalla colonna di altezza viene restituito nell'esempio sopra.
Esempio 2: più colonne
Questo esempio otterrà il valore totale 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 di somma
da pyspark.SQL.funzioni Somma 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)
#TRIMINA LA SOMMA Dall'altezza, età e colonne di peso
df.Seleziona (somma ('altezza'), somma ('età'), somma ('peso')).raccogliere()
Produzione:
[Riga (somma (altezza) = 21.65, somma (età) = 92, somma (peso) = 200)]
Il valore totale (somma) dall'altezza, dall'età e dalle colonne di peso viene restituito nell'esempio sopra.
Metodo 2: utilizzando Agg () Metodo
Possiamo ottenere il valore totale 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., somma. Usando il metodo Sum (), possiamo ottenere il valore totale dalla colonna e, infine, possiamo usare il metodo Collect () per ottenere la somma dalla colonna.
Sintassi:
df.agg ('column_name': sum)
Dove,
- DF è il frame dati pyspark input
- column_name è la colonna per ottenere il valore della somma
- La somma è una funzione di aggregazione utilizzata per restituire la somma
Se vogliamo restituire il valore totale da più colonne, dobbiamo specificare il nome della colonna con la funzione di somma separata da una virgola.
Sintassi:
df.agg ('column_name': somma, 'column_name': somma,…, 'column_name': sum)
Dove,
- DF è il frame dati pyspark input
- column_name è la colonna per ottenere il valore della somma
- La somma è una funzione di aggregazione utilizzata per restituire la somma
Esempio 1: colonna singola
Questo esempio otterrà il valore totale 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)
#Trenturn la somma dalla colonna di altezza
df.agg ('altezza': 'sum').raccogliere()
Produzione:
[Riga (somma (altezza) = 21.65)]
Nell'esempio sopra, viene restituito il valore totale (somma) dalla colonna di altezza.
Esempio 2: più colonne
Questo esempio otterrà il valore totale 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)
#TRIMINA LA SOMMA Dall'altezza, età e colonne di peso
df.Agg ("altezza": "somma", "età": "somma", "peso": "somma").raccogliere()
Produzione:
[Riga (somma (altezza) = 21.65, somma (età) = 92, somma (peso) = 200)]
Nell'esempio sopra, viene restituito il valore totale (somma) dall'altezza, dall'età e dalle colonne di peso.
Metodo 3: usando il metodo GroupBy ()
Possiamo ottenere il valore totale dalla colonna nel metodo GroupBy (). Questo metodo restituirà il valore totale raggruppando valori simili in una colonna. Dobbiamo usare la funzione Sum () dopo aver eseguito la funzione GroupBy ()
Sintassi:
df.Groupby (Group_Column).Sum ('column_name')
Dove,
- DF è il frame dati pyspark input
- Group_column è la colonna in cui i valori sono raggruppati in base a questa colonna
- column_name è la colonna per ottenere il valore della somma
- La somma è una funzione di aggregazione utilizzata per restituire la somma
Esempio 1:
In questo esempio, raggrupperemo la colonna dell'indirizzo con la colonna di altezza per restituire il valore totale (somma) in base a questa colonna dell'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 La somma dal raggruppamento della colonna di altezza con colonna Indirizzo
df.GroupBy ('indirizzo').somma ("altezza").raccogliere()
Produzione:
Ci sono tre valori univoci nel campo dell'indirizzo: Hyd, Guntur e Patna. Quindi la somma verrà formata raggruppando i valori attraverso i valori dell'indirizzo.
[Riga (indirizzo = 'hyd', somma (altezza) = 13.07),
Riga (indirizzo = 'guntur', somma (altezza) = 5.79),
Riga (indirizzo = 'patna', somma (altezza) = 2.79)]
Esempio 2:
In questo esempio, raggrupperemo la colonna dell'indirizzo con la colonna Peso per restituire il valore totale (somma) in base a questa colonna 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 La somma dal raggruppamento della colonna Peso con colonna Indirizzo
df.GroupBy ('indirizzo').somma ('peso').raccogliere()
Produzione:
Ci sono tre valori univoci nel campo dell'indirizzo: Hyd, Guntur e Patna. Quindi la somma verrà formata raggruppando i valori attraverso i valori dell'indirizzo.
[Riga (indirizzo = 'hyd', somma (peso) = 116),
Riga (indirizzo = 'guntur', somma (peso) = 67),
Riga (indirizzo = 'patna', somma (peso) = 17)]
Conclusione:
Abbiamo discusso di come ottenere il valore di somma (totale) dal teto di dati PysPark utilizzando i metodi Select () e Agg (). Per ottenere il valore della somma raggruppandosi con altre colonne, abbiamo usato il gruppo insieme alla funzione Sum ().