PYSPARK - STRUPTTYPE & STRUCTFIELD

PYSPARK - STRUPTTYPE & STRUCTFIELD
In Python ist PySpark ein Spark -Modul, mit dem eine ähnliche Art von Verarbeitung wie Spark mit DataFrame bereitgestellt wird.

Es liefert die Methoden "StructType () und structfield (), mit denen die Spalten im PYSPARK -Datenrahmen definiert werden.

Mit diesen Methoden können wir die Spaltennamen und die Datentypen der bestimmten Spalten definieren.

Lassen Sie uns nacheinander nacheinander diskutieren

Strukturtyp ()

Diese Methode wird verwendet. Es akzeptiert eine Liste von Datentypen zusammen mit Spaltennamen für den angegebenen Datenrahmen. Dies ist als Schema des Datenrahmens bekannt. Es speichert eine Sammlung von Feldern

Structfield ()

Diese Methode wird innerhalb der Strukturtyp () -Methode des PYSPARK -Datenframe. Es akzeptiert Spaltennamen mit dem Datentyp.

Syntax:

Schema = Strukturtyp ([[
Structfield ("Spalte 1", DataType, True/False),
Structfield ("Spalte 2", DataType, True/False),
… ,
Structfield ("Spalte N", DataType, True/False)]))

Wo Schema auf den Datenrahmen bezieht, wenn es erstellt wird

Parameter:

1. StrukturType akzeptiert eine Liste von Strukturen in einer von einem Kommas getrennten Liste

2. StructField () wird verwendet, um dem DataFrame Spalten hinzuzufügen, der Spaltennamen als erster Parameter und den Datentyp der bestimmten Spalten als zweiter Parameter nimmt.

Wir müssen die Datentypen aus den Methoden verwenden, die aus dem PYSPark importiert werden.sql.Type Modul.

Die unterstützten Datentypen sind:

  • StringType () - Wird zum Speichern von Zeichenfolgenwerten verwendet
  • IntegerType () - Wird verwendet, um Ganzzahl- oder lange Ganzzahlwerte zu speichern
  • FAUTTYPE () - Wird verwendet, um Schwimmerwerte zu speichern
  • Doubletype () - Wird verwendet, um Doppelwerte zu speichern

3. Boolesche Werte als dritter Parameter; Wenn es wahr ist, wird der angegebene Datentyp verwendet. Ansonsten nicht, wenn es falsch ist.

Wir müssen dieses Schema zusammen mit Daten an die Datenfreame -Methode übergeben.

Syntax:

erstellteataframe (Daten, Schema = Schema)

Beispiel 1:

In diesem Beispiel haben wir Daten in der Liste erstellt, die 5 Zeilen und 6 Spalten enthält, und zuweisen Spaltennamen als Rollno mit dem String -Datentyp, einem Namen mit dem String -Datentyp, Alter mit Ganzzahltyp, Höhe mit einem Float -Typ Gewicht mit Ganzzahl und Adresse mit dem String -Datentyp.

Schließlich werden wir den DataFrame mithilfe der Show (show () -Methode anzeigen.

#Amportieren Sie das PySpAPRK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#und Importieren von Strukturtypen und Datentypen
aus pysspark.sql.Typen importieren Struktur, StructField, StringType, IntegerType, FAUTTYPE
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Schüler = ['001', 'Sravan', 23,5.79,67, 'Guntur'],
['002', 'Ojaswi', 16,3.79,34, 'Hyd'],
['003', 'Gnanesh Chowdary', 7,2.79,17, 'patna'],
['004', 'Rohith', 9,3.69,28, 'Hyd'],
['005', 'sridevi', 37,5.59,54, 'Hyd']]]
#Definieren Sie den Struktur- und Strukturen
#Für die folgenden Spaltennamen
Schema = Strukturtyp ([[
Structfield ("rollno", StringType (), true),
Structfield ("name", stringType (), true),
Structfield ("Alter", IntegerType (), wahr),
Structfield ("Höhe", faulttype (), true),
Structfield ("Gewicht", IntegerType (), wahr),
Structfield ("Adresse", StringType (), true)
]))
#Erstellen Sie den Datenrahmen und fügen Sie dem DataFrame Schema hinzu
df = spark_app.Createdataframe (Studenten, Schema = Schema)
#Display den DataFrame
df.zeigen()

Ausgang:

Wenn wir das DataFrame -Schema anzeigen möchten, müssen wir die Schema -Methode verwenden.

Dadurch wird der Datentyp -Typ zusammen mit Spalten zurückgegeben

Syntax:

Datenrahmen. Schema

Wenn wir Felder anzeigen möchten, müssen wir Felder mit Schema verwenden

Syntax:

Datenrahmen. Schema.Felder

Beispiel 2

In diesem Beispiel werden wir das Schema des Datenrahmens anzeigen

#Amportieren Sie das PySpAPRK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#und Importieren von Strukturtypen und Datentypen
aus pysspark.sql.Typen importieren Struktur, StructField, StringType, IntegerType, FAUTTYPE
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Schüler = ['001', 'Sravan', 23,5.79,67, 'Guntur'],
['002', 'Ojaswi', 16,3.79,34, 'Hyd'],
['003', 'Gnanesh Chowdary', 7,2.79,17, 'patna'],
['004', 'Rohith', 9,3.69,28, 'Hyd'],
['005', 'sridevi', 37,5.59,54, 'Hyd']]]
#Definieren Sie den Struktur- und Strukturen
#Für die folgenden Spaltennamen
Schema = Strukturtyp ([[
Structfield ("rollno", StringType (), true),
Structfield ("name", stringType (), true),
Structfield ("Alter", IntegerType (), wahr),
Structfield ("Höhe", faulttype (), true),
Structfield ("Gewicht", IntegerType (), wahr),
Structfield ("Adresse", StringType (), true)
]))
#Erstellen Sie den Datenrahmen und fügen Sie dem DataFrame Schema hinzu
df = spark_app.Createdataframe (Studenten, Schema = Schema)
# Zeigen Sie das Schema an
drucken (df.Schema)

Ausgang:

[StructField (Rollno, StringType, True), StructField (Name, StringType, True), StructField (Alter, IntegerType, True), Structfield (Höhe, FaultType, True), Structfield (Gewicht, IntegerType, True), StructField (Adresse, Adresse, Adresse, StringType, wahr)]

Beispiel 3

In diesem Beispiel werden wir die Schema -Felder des Datenrahmens mit Schema anzeigen.Felder

#Amportieren Sie das PySpAPRK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#und Importieren von Strukturtypen und Datentypen
aus pysspark.sql.Typen importieren Struktur, StructField, StringType, IntegerType, FAUTTYPE
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Schüler = ['001', 'Sravan', 23,5.79,67, 'Guntur'],
['002', 'Ojaswi', 16,3.79,34, 'Hyd'],
['003', 'Gnanesh Chowdary', 7,2.79,17, 'patna'],
['004', 'Rohith', 9,3.69,28, 'Hyd'],
['005', 'sridevi', 37,5.59,54, 'Hyd']]]
#Definieren Sie den Struktur- und Strukturen
#Für die folgenden Spaltennamen
Schema = Strukturtyp ([[
Structfield ("rollno", StringType (), true),
Structfield ("name", stringType (), true),
Structfield ("Alter", IntegerType (), wahr),
Structfield ("Höhe", faulttype (), true),
Structfield ("Gewicht", IntegerType (), wahr),
Structfield ("Adresse", StringType (), true)
]))
#Erstellen Sie den Datenrahmen und fügen Sie dem DataFrame Schema hinzu
df = spark_app.Createdataframe (Studenten, Schema = Schema)
# Zeigen Sie die Schemafelder an
drucken (df.Schema.Felder)

Ausgang:

[StructField (Rollno, StringType, True), StructField (Name, StringType, True), StructField (Alter, IntegerType, True), Structfield (Höhe, FaultType, True), Structfield (Gewicht, IntegerType, True), StructField (Adresse, Adresse, Adresse, StringType, wahr)]

Wir können auch die Methode PrintSchema () verwenden, um das Schema im Baumformat anzuzeigen

Syntax:

Datenrahmen.printSchema ()

Beispiel 4:

Zeigen Sie das Schema im Baumformat mit PrintSchema () -Methode an

#Amportieren Sie das PySpAPRK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
#und Importieren von Strukturtypen und Datentypen
aus pysspark.sql.Typen importieren Struktur, StructField, StringType, IntegerType, FAUTTYPE
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Schüler = ['001', 'Sravan', 23,5.79,67, 'Guntur'],
['002', 'Ojaswi', 16,3.79,34, 'Hyd'],
['003', 'Gnanesh Chowdary', 7,2.79,17, 'patna'],
['004', 'Rohith', 9,3.69,28, 'Hyd'],
['005', 'sridevi', 37,5.59,54, 'Hyd']]]
#Definieren Sie den Struktur- und Strukturen
#Für die folgenden Spaltennamen
Schema = Strukturtyp ([[
Structfield ("rollno", StringType (), true),
Structfield ("name", stringType (), true),
Structfield ("Alter", IntegerType (), wahr),
Structfield ("Höhe", faulttype (), true),
Structfield ("Gewicht", IntegerType (), wahr),
Structfield ("Adresse", StringType (), true)
]))
#Erstellen Sie den Datenrahmen und fügen Sie dem DataFrame Schema hinzu
df = spark_app.Createdataframe (Studenten, Schema = Schema)
# Zeigen Sie das Schema im Baumformat an
df.printSchema ()

Ausgang: