PYSPARK - PRINTSCHEMA

PYSPARK - PRINTSCHEMA
In Python ist PySpark ein Spark -Modul, mit dem eine ähnliche Art von Verarbeitung wie Spark mit DataFrame bereitgestellt wird. Die PrintSchema () -Methode wird verwendet.

Es gibt die Baumstruktur zurück und holt den Spaltennamen zusammen mit DateType ab

Syntax:

Datenrahmen.printSchema ()

Bevor wir dies sehen, müssen wir einen Datenrahmen mit Schema erstellen. PYSPARK 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 () fügt dem DataFrame Spalten hinzu, 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 PYSPARK -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:

Beispiel 2:

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

#Amportieren Sie das PYSPARK -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: