Pysspark - unterschiedlich

Pysspark - unterschiedlich
In Python ist PySpark ein Spark -Modul, mit dem eine ähnliche Art von Verarbeitung wie Spark mit DataFrame bereitgestellt wird.

Different () im pyspark entfernt doppelte Zeilen/Daten und gibt die eindeutigen Zeilen aus dem Datenrahmen zurück.

Durch die Verwendung von Differenz () können wir doppelte Zeilen im PYSPARK -Datenframe entfernen.

Wir können die Spalten aus dem DataFrame auf zwei Arten fallen lassen.

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

Beispiel:

Wir erstellen einen Datenrame.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#-Port der Countfunktion
aus pysspark.sql.Funktionen importieren
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 8 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.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, '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.59, 'Gewicht': 54, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#Display den DataFrame
df.zeigen()

Ausgang:

In diesem Datenrahmen sind die doppelten Daten Rollno - 2, 3 und 4 . Sie sind doppelte Daten, weil sie zweimal aufgetreten sind. Daher müssen wir dieses Duplikat entfernen und die verbleibenden Zeilen mithilfe der Funktion "DISTEILT () zurückgeben. Diese Methode gibt die Spaltennamen zusammen mit ihrem Datentyp zurück.

Szenario -1: Erhalten Sie unterschiedliche Daten vom gesamten Datenrahmen

Wir erhalten die unterschiedlichen Daten aus dem gesamten Datenrahmen mithilfe von DIRTERNEHMEN () -Funktion

Syntax:

df.unterscheidbar()

Wobei DF der Eingabe -PYSPARK -Datenframe ist

Schließlich müssen wir die Methode Collect () verwenden, um alle Zeilen aus dem DataFrame zurückzugeben.

Beispiel :

In diesem Beispiel erhalten wir die unterschiedlichen Daten aus dem gesamten Datenrahmen.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#-Port der Countfunktion
aus pysspark.sql.Funktionen importieren
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 8 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.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, '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.59, 'Gewicht': 54, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#Die unterschiedlichen Zeilen machen
drucken (df.unterscheidbar().sammeln())

Ausgang:

[Zeile (Adresse = 'Guntur', Alter = 23, Höhe = 5.79, name = 'sravan', rollno = '001', Gewicht = 67),
Row (Adresse = 'Hyd', Alter = 9, Höhe = 3.69, Name = 'Rohith', Rollno = '004', Gewicht = 28),
Reihe (Adresse = 'patna', Alter = 7, Höhe = 2.79, name = 'gnanesh chowdary', rollno = '003', Gewicht = 17),
Row (Adresse = 'Hyd', Alter = 16, Höhe = 3.79, name = 'ojaswi', rollno = '002', Gewicht = 34),
Row (Adresse = 'Hyd', Alter = 37, Höhe = 5.59, name = 'sridevi', rollno = '005', Gewicht = 54)]

Im obigen Beispiel werden wir sehen, dass doppelte Zeilen entfernt werden.

Szenario - 2: Erhalten Sie unterschiedliche Daten von bestimmten Spalten im DataFrame.

Wir werden die Methode Select () verwenden, um die unterschiedlichen Zeilen aus den ausgewählten Spalten zu erhalten, die Methode Select () wird verwendet, um Spalten auszuwählen, und danach müssen wir die Funktion "DIRTION () verwenden, um eindeutige Werte aus der ausgewählten Spalte zurückzugeben und schließlich müssen wir die sammel () -Methode verwenden, um die von der Differenz () -Funktion zurückgegebenen Zeilen zu erhalten.

Syntax:

df.select ("column_name").unterscheidbar()

Wo,

  1. DF ist der Eingabe -PYSPARK -Datenrahmen
  2. column_name ist die spalte.

Beispiel :

In diesem Beispiel erhalten wir die unterschiedlichen Zeilen von der Spalte Rollno-, Name und Adressspalte getrennt.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#-Port der Countfunktion
aus pysspark.sql.Funktionen importieren
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 8 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.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, '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.59, 'Gewicht': 54, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#Greifen Sie die unterschiedlichen Zeilen aus der Rollno -Spalte
drucken (df.select ("rollno").unterscheidbar().sammeln())
#Greifen Sie die unterschiedlichen Zeilen aus der Namensspalte
drucken (df.select ("name").unterscheidbar().sammeln())
#Greifen Sie die unterschiedlichen Zeilen aus der Adressspalte
drucken (df.Select ("Adresse").unterscheidbar().sammeln())

Ausgang:

[Row (rollno = '003'), row (rollno = '001'), row (rollno = '004'), row (rollno = '002'), row (rollno = '005')]
[Row (name = 'rohith'), row (name = 'gnanesh chowdary'), row (name = 'sravan'), row (name = 'ojaswi'), row (name = 'sridevi')]
[Row (address = 'patna'), row (address = 'hyd'), row (adress = 'guntur')]]]

Im obigen Beispiel haben wir die unterschiedlichen Zeilen aus der Spalte Rollno-, Name und Adressspalte zurückgegeben

Szenario - 3: Erhalten Sie unterschiedliche Daten von mehreren Spalten im DataFrame.

Wir werden die Methode Select () verwenden, um die unterschiedlichen Zeilen aus den ausgewählten mehreren Spalten gleichzeitig zu erhalten. Spalten, die Methode Select () wird verwendet, um Spalten auszuwählen, und danach müssen wir die Funktion "DISTECTION () verwenden, um eindeutige Werte aus der ausgewählten Spalte zurückzugeben. Schließlich müssen wir die Collect () -Methode verwenden, um die von der DIRTIEREN () -Funktion zurückgegebenen Zeilen zu erhalten.

Syntax:

df.select ("column_name", "column_name", ..., "column_name").unterscheidbar()

Wo,

  1. DF ist der Eingabe -PYSPARK -Datenrahmen
  2. column_name ist die spalte.

Beispiel :

In diesem Beispiel erhalten wir die unterschiedlichen Zeilen aus der Spalte Rollno-, Name und Adressspalte gleichzeitig.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#-Port der Countfunktion
aus pysspark.sql.Funktionen importieren
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 8 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.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, '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.59, 'Gewicht': 54, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#Geben Sie die unterschiedlichen Zeilen aus Rollno-, Namens- und Adressspalten
drucken (df.Select ("Rollno", "Name", "Adresse").unterscheidbar().sammeln())

Ausgang:

[Row (rollno = '002', name = 'ojaswi', adress = 'hyd'), row (rollno = '004', name = 'rohith', adress = 'hyd'), row (rollno = '001' ' , name = 'sravan', address = 'guntur'), ​​row (rollno = '003', name = 'gnanesh chowdary', address = 'patna'), row (rollno = '005', name = 'sridevi',, Adresse = 'Hyd')]

Im obigen Beispiel haben wir die unterschiedlichen Zeilen aus der Spalte Rollno-, Name und Adressspalte zurückgegeben

Wenn wir die Gesamtzahl der unterschiedlichen Zeilen erhalten möchten, müssen wir die Funktion count () nach der Funktion "DISTEILT () verwenden.

Syntax:

df.unterscheidbar().zählen()

Beispiel:

In diesem Beispiel geben wir die Anzahl der einzigartigen Zeilen zurück.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#-Port der Countfunktion
aus pysspark.sql.Funktionen importieren
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 8 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.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, 'Höhe': 2.79, 'Gewicht': 17, 'Adresse': 'Patna',
'Rollno': '004', 'Name': 'Rohith', 'Alter': 9, 'Höhe': 3.69, 'Gewicht': 28, 'Adresse': 'Hyd',
'Rollno': '002', 'Name': 'Ojaswi', 'Alter': 16, 'Höhe': 3.79, 'Gewicht': 34, 'Adresse': 'Hyd',
'Rollno': '003', 'Name': 'Gnanesh Chowdary', 'Alter': 7, '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.59, 'Gewicht': 54, 'Adresse': 'Hyd']
# Erstellen Sie den Datenrahmen
df = spark_app.Createdataframe (Studenten)
#GETEN SIE DIE DIESETE Zähl
drucken (df.unterscheidbar().zählen())

Ausgang:

5

Abschluss:

Wir haben diskutiert, wie man unterschiedliche Daten aus dem gesamten Datenfrequenz- und Einzel-/Mehrfachspalten bekommt. Um die Anzahl der eindeutigen Werte zu erhalten, verwenden wir die Methode count () und chary ().