Konvertieren Sie die PYSPark RDD in DataFrame

Konvertieren Sie die PYSPark RDD in DataFrame
In Python ist PySpark ein Spark -Modul, das eine ähnliche Art von Verarbeitung wie Spark bietet.

RDD steht für widerstandsfähige verteilte Datensätze. Wir können RDD als grundlegende Datenstruktur in Apache Spark bezeichnen.

Syntax

Spark_App.SparkContext.parallelisieren (Daten)

Wir können die Daten in einem tabellarischen Format in Verbindung bringen. Die verwendete Datenstruktur ist DataFrame.Das tabellarische Format bedeutet, dass Daten in Zeilen und Spalten gespeichert werden.

In PySpark können wir mit der Methode "CreatedAtaframe () einen Datenrahmen aus der Spark App erstellen.

Syntax

Spark_App.createdataframe (input_data, Spalten)

Wobei input_data ein Wörterbuch oder eine Liste sein kann, um einen Datenrahmen aus diesen Daten zu erstellen, und wenn die input_data eine Liste von Wörterbüchern ist, sind die Spalten nicht erforderlich. Wenn es sich um eine verschachtelte Liste handelt, müssen wir die Spaltennamen angeben.

Lassen Sie uns nun darüber diskutieren, wie Sie die PySpark RDD in DataFrame umwandeln können.

Schaffung von Pyspark RDD

In diesem Beispiel erstellen wir eine RDD namens Schüler und zeigen sie mit Collect () -Aktion an.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
# RDD aus PYSPARK importieren.RDD
aus pysspark.RDD Import RDD
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Schüler = Spark_App.SparkContext.parallelisieren (['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': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.59, 'Gewicht': 54, 'Adresse': 'Hyd'])
#Display die RDD mit sammel ()
Druck (Schüler.sammeln())

Ausgang

['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': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.59, 'Gewicht': 54, 'Adresse': 'Hyd']

Methode 1: Verwenden von Createdataframe ()

Es ist möglich, RDD in DataFrame aus einer Spark -App mit der Methode "CreatedAtaframe () umzuwandeln. Hier müssen wir RDD an diese Methode übergeben.

Syntax

Spark_App.erstellteataframe (input_rdd)

Wobei input_rdd die RDD ist.

Beispiel
In diesem Beispiel konvertieren wir Schüler - RDD.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
# RDD aus PYSPARK importieren.RDD
aus pysspark.RDD Import RDD
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Schüler = Spark_App.SparkContext.parallelisieren (['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': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.59, 'Gewicht': 54, 'Adresse': 'Hyd'])
#Überprüfen Sie die Art der Schüler
Druck (Typ (Schüler))
#Convert RDD in DataFrame
df = spark_app.Createdataframe (Studenten)
#Display den DataFrame
df.zeigen()
#Überprüfen Sie die Art der DF
Druck (Typ (df))

Ausgang

Aus der obigen Ausgabe können wir feststellen, dass die Schüler ein RDD (mit dem Typ angezeigt werden) und nach dem Konvertieren in DataFrame den DataFrame mithilfe von Show () -Methode angezeigt haben. Für die Bestätigung haben wir den Typ des DataFrame zurückgegeben.

Methode 2: Verwenden von Createdataframe () mit Schema

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 verwendet, um Zeichenfolgenwerte zu speichern
  • IntegerType () - Wird verwendet, um Ganzzahl- oder lange Ganzzahlwerte zu speichern
  • Faulttype () - Wird verwendet, um Schwimmerwerte zu speichern
  • Doubletype () - Wird verwendet, um Doppelwerte zu speichern
  1. Boolesche Werte als dritter Parameter. Wenn es wahr ist, wird der angegebene Datentyp verwendet, sonst nicht, wenn er falsch ist.

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

Syntax

erstellteataframe (Daten, Schema = Schema)

Syntax

Spark_App.erstellteataframe (input_rdd)

Wo, input_rdd ist die RDD.

Beispiel
In diesem Beispiel konvertieren wir die Schüler - RDD mithilfe der Methode "CreatedAtaFrame () mit den Spaltennamen - Rollno, Name, Alter, Größe, Gewicht und Adresse

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
# RDD aus PYSPARK importieren.RDD
aus pysspark.RDD Import RDD
#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 = Spark_App.SparkContext.parallelisieren (['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': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.59, 'Gewicht': 54, 'Adresse': 'Hyd'])
#Überprüfen Sie die Art der Schüler
Druck (Typ (Schüler))
#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)
]))
#Convert RDD in DataFrame
df = spark_app.Createdataframe (Studenten, Schema)
#Display den DataFrame
df.zeigen()
#Überprüfen Sie die Art der DF
Druck (Typ (df))

Ausgang

Aus der obigen Ausgabe können wir feststellen, dass die Schüler ein RDD (mit dem Typ angezeigt werden) und nach dem Konvertieren in DataFrame den DataFrame mithilfe von Show () -Methode angezeigt haben. Für die Bestätigung haben wir den Typ des DataFrame zurückgegeben.

Methode 3: Verwenden von Todf ()

TODF () nimmt keinen Parameter ein und konvertiert ihn direkt in den Datenrahmen.

Syntax

input_rdd.todf ()

Wo, input_rdd ist die RDD.

Beispiel
In diesem Beispiel konvertieren wir Schüler - RDD.

#Amportieren Sie das PYSPARK -Modul
pysspark importieren
#import SparkSession für die Erstellung einer Sitzung
aus pysspark.SQL Import SparkSession
# RDD aus PYSPARK importieren.RDD
aus pysspark.RDD Import RDD
#create eine App namens LinuxHint
Spark_app = SparkSession.Erbauer.AppName ('LinuxHint').Getorcreate ()
# Erstellen Sie Studentendaten mit 5 Zeilen und 6 Attributen
Schüler = Spark_App.SparkContext.parallelisieren (['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': '005', 'Name': 'Sridevi', 'Age': 37, 'Höhe': 5.59, 'Gewicht': 54, 'Adresse': 'Hyd'])
#Überprüfen Sie die Art der Schüler
Druck (Typ (Schüler))
#Convert RDD in DataFrame
DF = Schüler.todf ()
#Display den DataFrame
df.zeigen()
#Überprüfen Sie die Art der DF
Druck (Typ (df))

Ausgang

Aus der obigen Ausgabe können wir feststellen, dass die Schüler ein RDD (mit dem Typ angezeigt werden) und nach dem Konvertieren in DataFrame den DataFrame mithilfe von Show () -Methode angezeigt haben. Für die Bestätigung haben wir den Typ des DataFrame zurückgegeben.

Abschluss

In diesem PYSPARK -Tutorial haben wir gesehen. Wenn Sie Spaltennamen explizit angeben möchten, können Sie die zweite Methode in diesem Tutorial verwenden.