Pyspark tritt an der Paar RDD zusammen

Pyspark tritt an der Paar RDD zusammen
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. Paar RDD speichert die Elemente/Werte in Form von Schlüsselwertpaaren. Es speichert das Schlüsselwertpaar im Format (Schlüssel, Wert).

Wir müssen RDD aus dem PySpark importieren.RDD -Modul.

In PYSPARK, um eine RDD zu erstellen, können wir die parallelize () -Methode verwenden.

Syntax:

Spark_App.SparkContext.parallelisieren (Daten)

Wo:

Daten können eine eindimensionale (lineare Daten) oder zwei dimensionale Daten (Zeilen-Säulen-Daten) sein.

In diesem Tutorial sehen wir verschiedene Verbindungen, die auf dem PYSPARK -Paar RDD durchgeführt werden. Alle verbinden die Arbeit basierend auf den Schlüssel im Paar RDD.

PYSPARK -Paar RDD - Join ()

Join () wird verwendet, um innere Join auf Pair RDD durchzuführen.

Der innere Join ergibt die RDD, indem nur die übereinstimmenden Zeilen aus zwei RDDs ausgewählt werden.

Syntax:

patrdd1.Join (patrdd2)

Wo:

  1. pace_rdd1 ist die erste RDD
  2. pace_rdd2 ​​ist die zweite RDD.

Beispiel:

In diesem Beispiel werden wir Join () verwenden, um innere Join auf zwei RDDs durchzuführen.

#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 4 Subjektbewertungspaare
Subjekts_rate1 = Spark_App.SparkContext.parallelisieren ([('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5)])
# 2 Subjektbewertungspaare erstellen
Subjekts_rate2 = Spark_App.SparkContext.parallelisieren ([('Linux', 4), ('Java', 2)])
#Perform Innere Join
print (fixs_rate1.Join (Subjekts_rate2).sammeln())

Ausgang:

[('Linux', (1, 4))]

Hier ist Subjekts_rating1 die erste RDD mit den folgenden Paaren: ('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5) und Subjekts_rating2 ist das erste RDD Das hat die folgenden Paare: ('Linux', 4), ('Java', 2).

Der Schlüssel - Linux existiert also in beiden Pair RDD. Daher werden die Werte in Bezug auf den Schlüssel zurückgegeben.

PYSPARK -Paar RDD - Leftouterjoin ()

Linksouterjoin () wird verwendet, um linke Join auf dem Paar RDD durchzuführen.

Der linke Join ergebnis in der RDD, indem alle Zeilen aus der ersten RDD ausgewählt und nur die Zeilen aus der zweiten RDD in Bezug auf die Zeilen in der ersten RDD abgestimmt sind.

Syntax:

patrdd1.linkerjoin (patrdd2)

Wo:

  1. pace_rdd1 ist die erste RDD
  2. pace_rdd2 ​​ist die zweite RDD.

Beispiel:

In diesem Beispiel werden wir linkeouterjoin () verwenden, um eine linke Verbindung zu zwei RDDs durchzuführen.

#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 4 Subjektbewertungspaare
Subjekts_rate1 = Spark_App.SparkContext.parallelisieren ([('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5)])
# 2 Subjektbewertungspaare erstellen
Subjekts_rate2 = Spark_App.SparkContext.parallelisieren ([('Linux', 4), ('Java', 2)])
#Performance Links Outer Join
print (fixs_rate1.linkerjoin (themen_rate2).sammeln())

Ausgang:

[('Python', (5, keine), ('Linux', (1, 4)), ('C#', (2, None)), ('JavaScript', (4, None)]]

Hier ist Subjekts_rating1 die erste RDD mit den folgenden Paaren: ('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5) und Subjekts_rating2 ist das erste RDD Das hat die folgenden Paare: ('Linux', 4), ('Java', 2).

Es gibt keine Python-, C #- und JavaScript -Schlüssel im zweiten RDD, sodass die Werte im zweiten RDD -Werten keine sind. In beiden RDD gibt es jedoch Key-Linux. Somit wurden die Werte 1,4 zurückgegeben.

PYSPARK -Paar RDD - Rightouterjoin ()

Rightouterjoin () wird verwendet, um den richtigen Join auf Pair RDD durchzuführen.

Der Rechtsverbinden führt in der RDD aus, indem alle Zeilen aus der zweiten RDD ausgewählt und nur die Zeilen aus der ersten RDD in Bezug auf die Zeilen im zweiten RDD übereinstimmen.

Syntax:

patrdd1.Rightouterjoin (patrdd2)

Wo:

  1. pace_rdd1 ist die erste RDD
  2. pace_rdd2 ​​ist die zweite RDD.

Beispiel:

In diesem Beispiel werden wir Rightouterjoin () verwenden, um einen richtigen Join auf zwei RDDs durchzuführen.

#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 4 Subjektbewertungspaare
Subjekts_rate1 = Spark_App.SparkContext.parallelisieren ([('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5)])
# 2 Subjektbewertungspaare erstellen
Subjekts_rate2 = Spark_App.SparkContext.parallelisieren ([('Linux', 4), ('Java', 2)])
#Performance Right Outer Join
print (fixs_rate1.Rightouterjoin (Subjekts_rating2).sammeln())

Ausgang:

[('Java', (keine, 2)), ('Linux', (1, 4))]

Hier ist Subjekts_rating1 die erste RDD mit den folgenden Paaren: ('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5) und Subjekts_rating2 ist das erste RDD Das hat die folgenden Paare: ('Linux', 4), ('Java', 2).

Es gibt keinen Java -Schlüssel im ersten RDD, sodass der Wert in den ersten RDD -Werten keine beträgt. In beiden RDD gibt es jedoch Key-Linux. Somit wurden die Werte 1,4 zurückgegeben.

PYSPARK -Paar RDD - FULLOUTERJOIN ()

Fullouterjoin () wird verwendet, um Outer Join on Pair RDD durchzuführen.

Voller äußerer Join ergibt sich in der RDD, indem alle Zeilen aus beiden RDDs ausgewählt werden. Es platziert keine Werte für die unerreichten Zeilen in beiden RDDs über die Reihen.

Syntax:

patrdd1.FULLOUTERJOIN (pace_rdd2)

Wo:

  1. pace_rdd1 ist die erste RDD
  2. pace_rdd2 ​​ist die zweite RDD.

Beispiel:

In diesem Beispiel werden wir Fullouterjoin () verwenden, um eine äußere Verbindung zu zwei RDDs durchzuführen.

#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 4 Subjektbewertungspaare
Subjekts_rate1 = Spark_App.SparkContext.parallelisieren ([('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5)])
# 2 Subjektbewertungspaare erstellen
Subjekts_rate2 = Spark_App.SparkContext.parallelisieren ([('Linux', 4), ('Java', 2)])
#Perform Outer Join
print (fixs_rate1.FULLOUTERJOIN (Subjekts_rating2).sammeln())

Ausgang:

[('Python', (5, None)), ('Java', (None, 2)), ('Linux', (1, 4)), ('C#', (2, None)), ( 'JavaScript', (4, keine)]]

Abschluss

Mit diesem Tutorial haben wir erfahren, dass die PYSPARK RDD 4 Arten von Verbindungen unterstützt. Um inneren Join durchzuführen, können wir einfach Joy () verwenden, linke join () wird verwendet, um den linken Join und den Rightouterjoin () zur Durchführung des richtigen Join verwendet. Um den äußeren Join durchzuführen, wird Fulouterjoin () verwendet.