PYSPARK - SQL schließt sich zusammen

PYSPARK - SQL schließt sich zusammen
In Python ist PySpark ein Spark -Modul, mit dem eine ähnliche Art von Verarbeitung wie Spark mit DataFrame bereitgestellt wird.

In PYSPARK werden SQL -Verbindungen verwendet, um zwei oder mehr Datenrahmen basierend auf der angegebenen Bedingung zu verbinden. Wir müssen ledig. Funke.SQL () wird verwendet, um SQL -Join in PySpark durchzuführen. Vorher müssen wir eine temporäre Ansicht für die beiden PYSPARK -Datenrahmen mithilfe von createReplacetempView () -Methoden erstellen. Aus dieser Ansicht können wir SQL -Anschlüsse durchführen.

Syntax:

Datenrahmen.CreateReplacetempView ("View_name")

Wo:

  1. DataFrame ist der PYSPARK -Datenrahmen.
  2. View_Name ist der temporäre Name für den Datenrahmen.

Es gibt verschiedene Verknüpfungen, die auf den beiden PYSPARK -Datenrahmen angewendet werden. Bevor Sie diese Typen kennen.

Erster Datenrahmen:

Im folgenden Beispiel werden wir den PYSPark -Datenfreame mit 5 Zeilen und 6 Spalten mit personenbezogenen Daten und Anzeigen mithilfe von show () erstellen:

#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' ',' Age ': 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)
# DataFrame
df.zeigen()

Ausgang:

Zweiter Datenrahmen

Im folgenden Beispiel werden wir den PYSpark -Datenfreame mit 5 Zeilen und 3 Spalten mit den Schülern -Markierdaten und -Daten erstellen und mit der Methode show () angezeigt:

#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 Student_Marks Daten mit 5 Zeilen und 6 Attributen
Students_marks = ['Rollno': '001', 'Subjekt1': 78, 'Subjekt2': 98,
'Rollno': '002', 'Subjekt1': 83, 'Subjekt2': 69,
'Rollno': '005', 'Subjekt1': 95, 'Subjekt2': 90,
'Rollno': '004', 'Subjekt1': 76, 'Subjekt2': 100,
'Rollno': '007', 'Subjekt1': 90, 'Subjekt2': 91]
# Erstellen Sie den Datenrahmen
df2 = spark_app.erstellteataframe (students_marks)
# DataFrame
DF2.zeigen()

Ausgang:

Überwachung:

Aus den beiden Datenrahmen haben wir beobachtet, dass Rollno die Spalte ist, die in beiden Datenrahmen gemeinsam ist. So können wir den Zustand auf diese Spalte anwenden. Die Zeilen - 001, 002, 004 und 005 - stimmen in beiden Datenrahmen überein.

Innerer Join

Der innere Join ergibt den DataFrame, indem nur die übereinstimmenden Zeilen aus zwei Datenrahmen ausgewählt wird.
Das verwendete Schlüsselwort ist „inner“, nämlich der Standard -Join.

Syntax:

Funke.SQL (SELECT * aus V1 Inner Join V2 auf V1.column_name == v2.Spaltenname)

Wo:

  1. * Bezieht sich auf die Auswahl aller Spalten aus beiden Datenrahmen.
  2. V1 bezieht sich auf die temporäre Ansicht für den ersten Datenrahmen.
  3. V2 bezieht sich auf die temporäre Ansicht für den zweiten Datenrahmen.
  4. Column_name ist die Spalte, die gemeinsame (gemeinsame Zeilen) in beiden Datenrahmen vorhanden ist. (Basierend auf dieser Spalte werden wir den Join -Operation durchführen)

Beispiel:

In diesem Beispiel verwenden wir das Keyword für das innere Join, um beide Datenrahmen beizutragen. Das Ergebnis beträgt also 001, 002, 004 und 005 Zeilen. Weil sie in beiden Datenrahmen in der Rollno -Spalte gemeinsam sind. Schließlich wenden wir die Show () -Methode an, um den zusammengeschlossenen PySpark -Datenfreame anzuzeigen.

#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.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)
# Erstellen Sie Student_Marks Daten mit 5 Zeilen und 6 Attributen
Students_marks = ["Rollno ':' 001 ',' Subjekt1 ': 78,' Subjekt2 ': 98,
'Rollno': '002', 'Subjekt1': 83, 'Subjekt2': 69,
'Rollno': '005', 'Subjekt1': 95, 'Subjekt2': 90,
'Rollno': '004', 'Subjekt1': 76, 'Subjekt2': 100,
'Rollno': '007', 'Subjekt1': 90, 'Subjekt2': 91]
# Erstellen Sie den Datenrahmen
df2 = spark_app.erstellteataframe (students_marks)
# Erstellen Sie die Ansicht für DF mit Namen als Schüler
df.CreateorReplacetempView ("Student")
# Ansicht für DF2 mit Namen als Noten erstellen
DF2.CreateorReplacetempView ("Marks")
# Innere Join durchführen
Funke.SQL ("Select * aus dem Schüler innere METIGE MARKS ON STUDENTEN.Rollno == Markierungen.Rollno ").zeigen()

Ausgang:

Links Join

Der linke Join entsteht im DataFrame, indem alle Zeilen aus dem ersten Datenrahmen ausgewählt werden und nur Zeilen aus dem zweiten Datenrahmen in Bezug auf die Zeilen im ersten DataFrame entspricht.

Syntax:

Funke.SQL (SELECT * aus V1 Links Join V2 auf V1.column_name == v2.Spaltenname)

Wo:

  1. * Bezieht sich auf die Auswahl aller Spalten aus beiden Datenrahmen aus.
  2. V1 bezieht sich auf die temporäre Ansicht für den ersten Datenrahmen.
  3. V2 bezieht sich auf die temporäre Ansicht für den zweiten Datenrahmen.
  4. Column_Name ist die Spalte, die gemeinsam (gemeinsame Zeilen) in beiden Datenrahmen vorhanden ist. (Basierend auf dieser Spalte werden wir den Join -Operation durchführen)

Beispiel:

In diesem Beispiel verwenden wir das Keyword für das linke Join, um beide Datenrahmen beizutragen. Das Ergebnis beträgt also 001.002, 003, 004 und 005 Zeilen aus dem ersten DataFrame und 001, 002, 004 und 005 Zeilen aus dem zweiten DataFrame. Zeile 007 im zweiten DataFrame wird mit keiner der Zeilen im ersten Datenrahmen übereinstimmt. Null wird also in dieser Zeile hinzugefügt. Schließlich wenden wir die Show () -Methode an, um den zusammengeschlossenen PySpark -Datenfreame anzuzeigen.

#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.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)
# Erstellen Sie Student_Marks Daten mit 5 Zeilen und 6 Attributen
Students_marks = ['Rollno': '001', 'Subjekt1': 78, 'Subjekt2': 98,
'Rollno': '002', 'Subjekt1': 83, 'Subjekt2': 69,
'Rollno': '005', 'Subjekt1': 95, 'Subjekt2': 90,
'Rollno': '004', 'Subjekt1': 76, 'Subjekt2': 100,
'Rollno': '007', 'Subjekt1': 90, 'Subjekt2': 91]
# Erstellen Sie den Datenrahmen
df2 = spark_app.erstellteataframe (students_marks)
# Erstellen Sie die Ansicht für DF mit Namen als Schüler
df.CreateorReplacetempView ("Student")
# Ansicht für DF2 mit Namen als Noten erstellen
DF2.CreateorReplacetempView ("Marks")
# links join durchführen
Funke.SQL ("SELECT * SELECT * VON STUDENT LETTE MEISSEN MARKS AUF STUDENTEN.Rollno == Markierungen.Rollno ").zeigen()

Ausgang:

LINKE ÄUSSERE VERBINDUNG

Der linke äußere Join entsteht den DataFrame, indem alle Zeilen aus dem ersten Datenrahmen ausgewählt werden und nur Zeilen aus dem zweiten DataFrame in Bezug auf die Zeilen im ersten DataFrame übereinstimmen. Es ist ähnlich wie bei der linken Verbindung.

Syntax:

Funke.SQL (SELECT * aus V1 Links Outer Join V2 auf V1.column_name == v2.Spaltenname)

Wo:

  1. * Bezieht sich auf die Auswahl aller Spalten aus beiden Datenrahmen aus.
  2. V1 bezieht sich auf die temporäre Ansicht für den ersten Datenrahmen.
  3. V2 bezieht sich auf die temporäre Ansicht für den zweiten Datenrahmen.
  4. Column_Name ist die Spalte, die gemeinsam (gemeinsame Zeilen) in beiden Datenrahmen vorhanden ist. (Basierend auf dieser Spalte werden wir den Join -Operation durchführen)

Beispiel:
In diesem Beispiel verwenden wir das Schlüsselwort für das linke äußere Join, um beide Datenrahmen beizutragen. Das Ergebnis beträgt also 001, 002, 003, 004 und 005 Zeilen aus dem ersten DataFrame und 001, 002, 004 und 005 Zeilen aus dem zweiten DataFrame. Zeile 007 im zweiten DataFrame wird im ersten Datenfreame nicht mit einer Zeile übereinstimmt. Null wird also in dieser Zeile hinzugefügt. Schließlich wenden wir die Show () -Methode an, um den zusammengeschlossenen PySpark -Datenfreame anzuzeigen.

#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.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)
# Erstellen Sie Student_Marks Daten mit 5 Zeilen und 6 Attributen
Students_marks = ['Rollno': '001', 'Subjekt1': 78, 'Subjekt2': 98,
'Rollno': '002', 'Subjekt1': 83, 'Subjekt2': 69,
'Rollno': '005', 'Subjekt1': 95, 'Subjekt2': 90,
'Rollno': '004', 'Subjekt1': 76, 'Subjekt2': 100,
'Rollno': '007', 'Subjekt1': 90, 'Subjekt2': 91]
# Erstellen Sie den Datenrahmen
df2 = spark_app.erstellteataframe (students_marks)
# Erstellen Sie die Ansicht für DF mit Namen als Schüler
df.CreateorReplacetempView ("Student")
# Ansicht für DF2 mit Namen als Noten erstellen
DF2.CreateorReplacetempView ("Marks")
# Führen Sie die linke äußere Join durch
Funke.SQL ("SELECT * SELECT * VON STUDENT OUT LEFEN OUTER MEISS MARKS AUF STUDENTEN.Rollno == Markierungen.Rollno ").zeigen()

Ausgang:

Right Join

Der Rechtsverbindungs ​​-Join -Ergebnis im DataFrame, indem alle Zeilen aus dem zweiten Datenrahmen ausgewählt werden und nur Zeilen aus dem ersten Datenrahmen in Bezug auf die Zeilen im zweiten DataFrame übereinstimmen. Es platziert Null Werte für die unerreichten Zeilen im ersten Datenrahmen.

Syntax:

Funke.SQL (SELECT * von V1 Right Join V2 auf V1.column_name == v2.Spaltenname)

Wo:

  1. * Bezieht sich auf die Auswahl aller Spalten aus beiden Datenrahmen aus.
  2. V1 bezieht sich auf die temporäre Ansicht für den ersten Datenrahmen.
  3. V2 bezieht sich auf die temporäre Ansicht für den zweiten Datenrahmen.
  4. Column_Name ist die Spalte, die gemeinsam (gemeinsame Zeilen) in beiden Datenrahmen vorhanden ist. (Basierend auf dieser Spalte werden wir den Join -Operation durchführen)

Beispiel:

In diesem Beispiel verwenden wir das richtige Keyword mit dem richtigen Join. Das Ergebnis beträgt also 001, 002, 007, 004 und 005 Zeilen aus dem zweiten DataFrame und 001, 002, 004 und 005 Zeilen aus dem ersten DataFrame. Zeile 003 im ersten DataFrame ist mit keinem der Zeile im zweiten DataFrame übereinstimmt. Null wird also in dieser Zeile hinzugefügt. Schließlich wenden wir die Show () -Methode an, um den zusammengeschlossenen PySpark -Datenfreame anzuzeigen.

#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.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)
# Erstellen Sie Student_Marks Daten mit 5 Zeilen und 6 Attributen
Students_marks = ['Rollno': '001', 'Subjekt1': 78, 'Subjekt2': 98,
'Rollno': '002', 'Subjekt1': 83, 'Subjekt2': 69,
'Rollno': '005', 'Subjekt1': 95, 'Subjekt2': 90,
'Rollno': '004', 'Subjekt1': 76, 'Subjekt2': 100,
'Rollno': '007', 'Subjekt1': 90, 'Subjekt2': 91]
# Erstellen Sie den Datenrahmen
df2 = spark_app.erstellteataframe (students_marks)
# Erstellen Sie die Ansicht für DF mit Namen als Schüler
df.CreateorReplacetempView ("Student")
# Ansicht für DF2 mit Namen als Noten erstellen
DF2.CreateorReplacetempView ("Marks")
# Right Jou durchführen
Funke.SQL ("Auswählen * von Studenten recht.Rollno == Markierungen.Rollno ").zeigen()

Ausgang:

Rechts äußerer Join

Der rechte äußere Join ergibt sich im DataFrame, indem alle Zeilen aus dem zweiten Datenrahmen ausgewählt werden und nur Zeilen aus dem ersten Datenrahmen in Bezug auf die Zeilen im zweiten DataFrame übereinstimmen. Es platziert Null Werte für die unerreichten Zeilen im ersten Datenrahmen. Es ähnelt dem richtigen Join.

Syntax:
Funke.SQL (SELECT * aus V1 Right Outer Jou V2 auf V1.column_name == v2.Spaltenname)

Wo:

  1. * Bezieht sich auf die Auswahl aller Spalten aus beiden Datenrahmen aus.
  2. V1 bezieht sich auf die temporäre Ansicht für den ersten Datenrahmen.
  3. V2 bezieht sich auf die temporäre Ansicht für den zweiten Datenrahmen.
  4. Column_Name ist die Spalte, die gemeinsam (gemeinsame Zeilen) in beiden Datenrahmen vorhanden ist. (Basierend auf dieser Spalte werden wir den Join -Operation durchführen)

Beispiel:

In diesem Beispiel verwenden wir das richtige Außenverteidigungsschlüsselwort, um beide Datenrahmen beizutragen. Das Ergebnis beträgt also 001, 002, 007, 004 und 005 Zeilen aus dem zweiten DataFrame und 001, 002, 004 und 005 Zeilen aus dem ersten DataFrame. Zeile 003 im First DataFrame ist mit keinem der Zeile im zweiten Datenrahmen übereinstimmt. Null wird also in dieser Zeile hinzugefügt. Schließlich wenden wir die Show () -Methode an, um den zusammengeschlossenen PySpark -Datenfreame anzuzeigen.

#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.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)
# Erstellen Sie Student_Marks Daten mit 5 Zeilen und 6 Attributen
Students_marks = ['Rollno': '001', 'Subjekt1': 78, 'Subjekt2': 98,
'Rollno': '002', 'Subjekt1': 83, 'Subjekt2': 69,
'Rollno': '005', 'Subjekt1': 95, 'Subjekt2': 90,
'Rollno': '004', 'Subjekt1': 76, 'Subjekt2': 100,
'Rollno': '007', 'Subjekt1': 90, 'Subjekt2': 91]
# Erstellen Sie den Datenrahmen
df2 = spark_app.erstellteataframe (students_marks)
# Erstellen Sie die Ansicht für DF mit Namen als Schüler
df.CreateorReplacetempView ("Student")
# Ansicht für DF2 mit Namen als Noten erstellen
DF2.CreateorReplacetempView ("Marks")
# Right Outer Join durchführen
Funke.SQL ("Auswählen * von Studenten rechter äußerer Beitrittsmarken auf Student.Rollno == Markierungen.Rollno ").zeigen()

Ausgang:

Voller Join

Der vollständige Join -Ergebnisse im DataFrame -Ergebnis, indem alle Zeilen aus beiden Datenfaktoren ausgewählt werden. Es platziert Null Werte für die unerreichten Zeilen in beiden Datenrahmen über die Zeilen.

Syntax:

Funke.SQL (SELECT * V1 V1 Full Join V2 auf V1.column_name == v2.Spaltenname)

Wo:

  1. * Bezieht sich auf die Auswahl aller Spalten aus beiden Datenrahmen aus.
  2. V1 bezieht sich auf die temporäre Ansicht für den ersten Datenrahmen.
  3. V2 bezieht sich auf die temporäre Ansicht für den zweiten Datenrahmen.
  4. Column_Name ist die Spalte, die gemeinsam (gemeinsame Zeilen) in beiden Datenrahmen vorhanden ist. (Basierend auf dieser Spalte werden wir den Join -Operation durchführen)

Beispiel:

Im folgenden Beispiel verwenden wir das vollständige Join -Keyword, um beide DataFrames anzuschließen. Das Ergebnis stammt also aus beiden Datenrahmen.

#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.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)
# Erstellen Sie Student_Marks Daten mit 5 Zeilen und 6 Attributen
Students_marks = ['Rollno': '001', 'Subjekt1': 78, 'Subjekt2': 98,
'Rollno': '002', 'Subjekt1': 83, 'Subjekt2': 69,
'Rollno': '005', 'Subjekt1': 95, 'Subjekt2': 90,
'Rollno': '004', 'Subjekt1': 76, 'Subjekt2': 100,
'Rollno': '007', 'Subjekt1': 90, 'Subjekt2': 91]
# Erstellen Sie den Datenrahmen
df2 = spark_app.erstellteataframe (students_marks)
# Erstellen Sie die Ansicht für DF mit Namen als Schüler
df.CreateorReplacetempView ("Student")
# Ansicht für DF2 mit Namen als Noten erstellen
DF2.CreateorReplacetempView ("Marks")
# Voller Join durchführen
Funke.SQL ("Select * aus dem Studenten ausmelden Full Join Marks on Student.Rollno == Markierungen.Rollno ").zeigen()

Ausgang:

Voller äußerer Join

Der vollständige äußere Join ergibt den DataFrame, indem alle Zeilen aus den DataFrames ausgewählt werden. Es platziert Null Werte für die unerreichten Zeilen in beiden Datenrahmen über die Zeilen.

Syntax:

Funke.SQL (SELECT * aus V1 Full Outer Join V2 auf V1.column_name == v2.Spaltenname)

Wo:

  1. * Bezieht sich auf die Auswahl aller Spalten aus beiden Datenrahmen aus.
  2. V1 bezieht sich auf die temporäre Ansicht für den ersten Datenrahmen.
  3. V2 bezieht sich auf die temporäre Ansicht für den zweiten Datenrahmen.
  4. Column_Name ist die Spalte, die gemeinsam (gemeinsame Zeilen) in beiden Datenrahmen vorhanden ist. (Basierend auf dieser Spalte werden wir den Join -Operation durchführen)

Beispiel:

In diesem Beispiel verwenden wir das Full Outer -Joy -Schlüsselwort, um beide Datenrahmen beizutragen. Das Ergebnis stammt also aus beiden Datenrahmen.

#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.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)
# Erstellen Sie Student_Marks Daten mit 5 Zeilen und 6 Attributen
Students_marks = ['Rollno': '001', 'Subjekt1': 78, 'Subjekt2': 98,
'Rollno': '002', 'Subjekt1': 83, 'Subjekt2': 69,
'Rollno': '005', 'Subjekt1': 95, 'Subjekt2': 90,
'Rollno': '004', 'Subjekt1': 76, 'Subjekt2': 100,
'Rollno': '007', 'Subjekt1': 90, 'Subjekt2': 91]
# Erstellen Sie den Datenrahmen
df2 = spark_app.erstellteataframe (students_marks)
# Erstellen Sie die Ansicht für DF mit Namen als Schüler
df.CreateorReplacetempView ("Student")
# Ansicht für DF2 mit Namen als Noten erstellen
DF2.CreateorReplacetempView ("Marks")
# Full Outer Join durchführen
Funke.SQL ("SELECT * von Studenten Full Outer Outer Join Marks on Student.Rollno == Markierungen.Rollno ").zeigen()

Ausgang:

Abschluss

In diesem Artikel haben wir vier Arten von SQL -Beiträgen besprochen, die auf dem PYSPARK -Datenframe durchgeführt wurden. Wir haben gesehen, dass die linke Verbindung dem linken äußeren Join ähnelt. Der richtige Join ähnelt dem richtigen äußeren Join. Der vollständige Join ähnelt dem vollem äußeren Join. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in anderen Linux -Hinweisartikeln.