Pyspark - sumdistinct & campdistinct

Pyspark - sumdistinct & campdistinct
In Python ist PySpark ein Spark -Modul, mit dem eine ähnliche Art von Verarbeitung wie Spark mit DataFrame bereitgestellt wird.

Pyspark - sumdistinct ()

Sumdistinct () In pyspark gibt der eindeutige Gesamtwert (SUM) aus einer bestimmten Spalte im DataFrame zurück. Es wird die Summe zurückgeben, indem nur eindeutige Werte berücksichtigt werden. Es wird keine doppelten Werte benötigt, um eine Summe zu bilden.

Vorher müssen wir PYSPARK -Datenframe zur Demonstration erstellen.

Beispiel:

Wir erstellen einen Datenrahmen mit 5 Zeilen und 6 Spalten und zeigen ihn mit der Methode show () an.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Studenten = ['Rollno': '001', 'Name': 'Sravan', 'Alter': 23, 'Höhe': 5.79, 'Gewicht': 67, 'Adresse': 'Guntur',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.69, 'Gewicht': 67, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 16, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.79, 'Gewicht': 28, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#Display DataFrame
df.zeigen()

Ausgang:

In dem obigen PYSPARK -Datenfreame beobachteten wir, dass in der Altersspalte 16 in Höhe der Spalte 5 in Höhe von 2 -mal auftrat.79 und 3.69 traten zweimal und in Gewichtsspalte 67 und 28 zweimal auf.

Daher betrachtet der Sumdistinct () diese doppelten Werte als einzelne Wert und bilden die Summe innerhalb der Spalte.

Verwenden der Methode select ()

Wir können den eindeutigen Gesamtwert aus der Spalte im DataFrame unter Verwendung der Methode Select () erhalten. Mit der Sumdistinct () -Methode können wir den eindeutigen Gesamtwert aus der Spalte erhalten. Um diese Methode zu verwenden, müssen wir sie aus pyspark importieren.sql.Funktionen Modul und schließlich können wir die methode collect () verwenden, um die eindeutige Summe aus der Spalte zu erhalten

Syntax:

df.select (sumdistinct ('column_name'))

Wo,

  1. DF ist der Eingabe -PYSPARK -Datenrahmen
  2. Column_Name ist die Spalte, um den eindeutigen Summenwert zu erhalten

Wenn wir den eindeutigen Gesamtwert aus mehreren Spalten zurückgeben möchten, müssen wir die Methode Sumdistinct () in der Methode Select () verwenden, indem wir den von einem Kommas getrennten Spaltennamen angeben.

Syntax:

df.select (sumdistinct ('column_name'), sumdistinct ('column_name'),… ., sumdistinct ('column_name'))

Wo,

  1. DF ist der Eingabe -PYSPARK -Datenrahmen
  2. Column_Name ist die Spalte, um den eindeutigen Summenwert zu erhalten

Beispiel 1: Einzelne Spalte

In diesem Beispiel erhält der eindeutige Gesamtwert aus der Höhenspalte im PYSPARK -Datenframe.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#import sumdistinct () Funktion
aus pysspark.sql.Funktionen importieren Summen
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Studenten = ['Rollno': '001', 'Name': 'Sravan', 'Alter': 23, 'Höhe': 5.79, 'Gewicht': 67, 'Adresse': 'Guntur',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.69, 'Gewicht': 67, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 16, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.79, 'Gewicht': 28, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#REITEN SIE DIE EINZIBLICHE SUMS SUME AUS DER HIGH -SOLTER
df.select (sumdistinct ('Höhe')).sammeln()

Ausgang:

[Zeile (Summe (unterschiedliche Höhe) = 12.27)]

Das obige Beispiel gibt den unterschiedlichen Gesamtwert (Summe) aus der Höhenspalte zurück.

Beispiel 2: Mehrere Spalten

In diesem Beispiel wird der eindeutige Gesamtwert aus den Spalten der Größe, des Alters und des Gewichts im PYSPARK -Datenframe erhalten.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Studenten = ['Rollno': '001', 'Name': 'Sravan', 'Alter': 23, 'Höhe': 5.79, 'Gewicht': 67, 'Adresse': 'Guntur',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.69, 'Gewicht': 67, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 16, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.79, 'Gewicht': 28, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#REITEN SIE DIE DIESETE SUMSUM VON DIE SCHUTZ-, ALTEN- UND WOHNENSPAGNEN
df.Select (Sumdistinct ('Höhe'), Sumdistinct ('Alter'), Sumdistinct ('Gewicht')).sammeln()

Ausgang:

[Zeile (Summe (unterschiedliche Höhe) = 12.27, Summe (verschiedenes Alter) = 85, Summe (verschiedenes Gewicht) = 112)]

Das obige Beispiel gibt den unterschiedlichen Gesamtwert (Summe) aus den Spalten der Größe, des Alters und des Gewichts zurück.

Pyspark - countdistinct ()

CountDistinct () In PYSPARK gibt die unterschiedliche Anzahl von Werten (Zählungen) aus einer bestimmten Spalte im DataFrame zurück. Es wird die Anzahl zurückgeben, indem nur eindeutige Werte berücksichtigt werden. Es wird keine doppelten Werte benötigt, um eine Zählung zu bilden.

Vorher müssen wir PYSPARK -Datenframe zur Demonstration erstellen.

Beispiel:

Wir erstellen einen Datenrahmen mit 5 Zeilen und 6 Spalten und zeigen ihn mit der Methode show () an.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Studenten = ['Rollno': '001', 'Name': 'Sravan', 'Alter': 23, 'Höhe': 5.79, 'Gewicht': 67, 'Adresse': 'Guntur',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.69, 'Gewicht': 67, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 16, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.79, 'Gewicht': 28, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#Display DataFrame
df.zeigen()

Ausgang:

In dem obigen PYSPARK -Datenfreame beobachteten wir, dass in der Altersspalte 16 in Höhe der Spalte 5 in Höhe von 2 -mal auftrat.79 und 3.69 traten zweimal und in Gewichtsspalte 67 und 28 zweimal auf.

So betrachtet der CountDistinct () diese doppelten Werte als Einzelwerte und bildet die Anzahl in der Spalte.

Verwenden der Methode select ()

Mit der Methode Select () können wir im DataFrame die eindeutige Anzahl von der Spalte im DataFrame erhalten. Mit der Methode countDistinct () können wir eine deutliche Anzahl von Zeilen von der Spalte erhalten. Um diese Methode zu verwenden, müssen wir sie aus pyspark importieren.sql.Funktionen Modul und schließlich können wir die methode collect () verwenden, um die eindeutige Anzahl von der Spalte zu erhalten

Syntax:

df.select (countDistinct ('column_name'))

Wo,

  1. DF ist der Eingabe -PYSPARK -Datenrahmen
  2. Column_Name ist die Spalte, um die eindeutige Anzahl zu erhalten.

Wenn wir die eindeutige Anzahl von mehreren Spalten zurückgeben möchten, müssen wir die Methode countDistinct () in der Methode Select () verwenden, indem wir den von einem Komma getrennten Spaltennamen angeben.

Syntax:

df.select (countDistinct ('column_name'), countDistinct ('column_name'),… ., countdistinct ('column_name'))

Wo,

  1. DF ist der Eingabe -PYSPARK -Datenrahmen
  2. Column_Name ist die Spalte, um die eindeutige Anzahl von Zeilen abzurufen.

Beispiel 1: Einzelspalte

In diesem Beispiel wird die Anzahl der Höhe der Höhenspalte im PYSPARK -Datenframe ausgeprägt.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#import CountDistinct () Funktion
aus pysspark.sql.Funktionen importieren Countdistinct
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Studenten = ['Rollno': '001', 'Name': 'Sravan', 'Alter': 23, 'Höhe': 5.79, 'Gewicht': 67, 'Adresse': 'Guntur',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.69, 'Gewicht': 67, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 16, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.79, 'Gewicht': 28, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#REITEN SIE DIE EINZIGEN Zählung der Höhensäule
df.Select (CountDistinct ('Höhe')).sammeln()

Ausgang:

[Zeile (Graf (unterschiedliche Höhe) = 3)]

Im obigen Beispiel wird die eindeutige Anzahl aus der Höhensäule zurückgegeben.

Beispiel 2: Mehrere Spalten

In diesem Beispiel wird die Zählung von Größe, Alter und Gewichtsspalten im PYSPARK -Datenframe ausgeprägt.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#import CountDistinct () Funktion
aus pysspark.sql.Funktionen importieren Countdistinct
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Studenten = ['Rollno': '001', 'Name': 'Sravan', 'Alter': 23, 'Höhe': 5.79, 'Gewicht': 67, 'Adresse': 'Guntur',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.69, 'Gewicht': 67, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 16, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.79, 'Gewicht': 28, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#REITEN SIE DIE DIESETTE ZUGEN VON DIE SCHUTZ-, ALTER- UND WOCHSCHALTEN
df.Select (CountDistinct ('Höhe'), Countdistinct ('Alter'), Countdistinct ('Gewicht')).sammeln()

Ausgang:

[Zeile (Graf (unterschiedliche Höhe) = 3, zählen (verschiedenes Alter) = 4, zählen (verschiedenes Gewicht) = 3)]

Das obige Beispiel gibt die unterschiedliche Anzahl von Säulen zur Größe, Alter und Gewicht zurück.

Abschluss:

Wir haben diskutiert, wie man den unterschiedlichen Summenwert (Gesamt-) Wert unter Verwendung von Sumdistinct () und der unterschiedlichen Anzahl von Zeilen (Anzahl) unter Verwendung von CountDistinct () aus dem PYSpark -Datenfreame mit der Methode Select () erhalten kann.