PYSPARK RDD - Kreuzung, kartesisch

PYSPARK RDD - Kreuzung, kartesisch
In Python ist PySpark ein Spark -Modul, mit dem eine ähnliche Art von Verarbeitung wie Spark mit DataFrame bereitgestellt wird.

RDD steht für widerstandsfähige verteilte Datensätze. Wir können RDD als grundlegende Datenstruktur in Apache Spark bezeichnen. Es speichert die Daten in Form von Zeilen und Spalten ähnlich wie ein Datenrahmen oder linear.

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

In PYSPARK, um Daten oder einen Datenrahmen zu erstellen, müssen wir die Parallelize () -Methode verwenden.

Syntax:

Spark_App.SparkContext.parallelisieren (Daten)

Wo,

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

In diesem Tutorial erfahren wir etwas über die PYSPARK RDD Subtractract () und die Distrible () Operationen.

PYSPARK RDD - Intersection ()

Überschneidung() In RDD wird die neue RDD zurückgeben, die die im ersten RDD vorhandenen Elemente sowie die zweite RDD enthält. Einfach gibt es nur gemeinsame Elemente aus der RDD zurück.

Wir brauchen also zwei RDDs, um diesen Vorgang durchzuführen.

Syntax:

Rdd_data1.Kreuzung (rdd_data2)

Wo,

  1. Rdd_data1 ist die erste rdd.
  2. Rdd_data2 ist das zweite rdd.

Beispiel 1:

In diesem Beispiel erstellen wir zwei RDDs mit numerischen Daten - Subjekts_1 und Subjekts_2 und führen Intersection () auf zwei RDDs durch.

#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 ()
# 5 - Betreffmarken erstellen
Subjekts_1 = Spark_App.SparkContext.parallelisieren ([100,34,56,54,45])
#Display subjets_1 Rdd
print ("Subjekts_1 RDD:", Subjekts_1.sammeln())
# 5 - Betreffmarken erstellen
Subjekts_2 = Spark_App.SparkContext.parallelisieren ([90,89,34,56,45])
#Display subjets_2 RDD
print ("Subjekts_2 RDD:", Subjekts_2.sammeln())
#performe intersection () operation oberhalb von zwei RDDs
print ("intersection () operation unter themen_1 und subjekts_2:", subjekts_1.Kreuzung (Subjekts_2).sammeln())

Ausgang:

Subjekts_1 RDD: [100, 34, 56, 54, 45]
Subjekts_2 RDD: [90, 89, 34, 56, 45]
Intersection () Operation zu den Probanden_1 und Subjekts_2: [56, 45, 34]

Aus der Ausgabe können wir sehen, dass es in beiden RDDs 5 Elemente gibt.

Wir führen eine Kreuzung zu Subjekten_1 und Subjekts_2 durch. Hier sind 56,45 und 34 in Subjekten_1 und Subjekts_2 vorhanden. Sie wurden also zurückgegeben.

Beispiel 2:

In diesem Beispiel erstellen wir zwei RDD mit Zeichenfolgen - Subjekts_1 und Subjekts_2 und führen Intersection () auf zwei RDDs durch.

#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 ()
# Create 3 - Betreff Namen
Subjekts_1 = Spark_App.SparkContext.parallelisieren (["Linux", "Bash", "JavaScript"])
#Display subjets_1 Rdd
print ("Subjekts_1 RDD:", Subjekts_1.sammeln())
# erstellen 2 - Betreff Namen
Subjekts_2 = Spark_App.SparkContext.parallelisieren (["Linux", "Java"])
#Display subjets_2 RDD
print ("Subjekts_2 RDD:", Subjekts_2.sammeln())
#performe intersection () operation oberhalb von zwei RDDs
print ("intersection () operation unter themen_1 und subjekts_2:", subjekts_1.Kreuzung (Subjekts_2).sammeln())

Ausgang:

Subjekts_1 RDD: ['Linux', 'Bash', 'JavaScript']
Subjekts_2 RDD: ['Linux', 'Java']
Intersection () Operation zu Subjekts_1 und Subjekts_2: ['Linux']

Aus der Ausgabe können wir sehen, dass nur 'Linux' in beiden RDDs üblich ist. Es wird also zurückgegeben.

PYSPARK RDD - kartesian ()

kartesian () In RDD wird die neue RDD zurückgeben, die alle Elemente von beiden RDDs enthält. Es gibt ein kartesisches Produkt so zurück, dass jedes Element in der ersten RDD mit allen Elementen der zweiten RDD in Form eines Paares kombiniert wird.

Wir brauchen also zwei RDDs, um diesen Vorgang durchzuführen.

Syntax:

Rdd_data1.cartesian (rdd_data2)

Wo,

  1. Rdd_data1 ist die erste rdd.
  2. Rdd_data2 ist das zweite rdd.

Beispiel 1:

In diesem Beispiel werden wir zwei RDDs mit numerischen Daten erstellen - Subjekts_1 und Subjekts_2 und kartesian () auf zwei RDDs durchfü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 ()
# 2 - Betreffmarken erstellen
Subjekts_1 = Spark_App.SparkContext.parallelisieren ([100,34])
#Display subjets_1 Rdd
print ("Subjekts_1 RDD:", Subjekts_1.sammeln())
# 2 - Betreffmarken erstellen
Subjekts_2 = Spark_App.SparkContext.parallelisieren ([56,45])
#Display subjets_2 RDD
print ("Subjekts_2 RDD:", Subjekts_2.sammeln())
#Perform
print ("cartesian () Operation zu Subjekts_1 und Subjekts_2:", Subjekts_1.kartesischer (Subjekts_2).sammeln())

Ausgang:

Subjekts_1 RDD: [100, 34]
Subjekts_2 RDD: [56, 45]
cartesian () Operation zu den Probanden_1 und Subjekts_2: [(100, 56), (100, 45), (34, 56), (34, 45)]

Aus der Ausgabe können wir sehen, dass es in beiden RDDs 2 Elemente gibt.

Wir führen einen kartesischen zu den Themen_1 und Subjekts_2 durch. Elemente aus Probanden_1 werden mit jedem Element in Subjekts_2 gepaart.

Beispiel 2:

In diesem Beispiel werden wir zwei RDD mit Zeichenfolgen erstellen - Subjekts_1 und Subjekts_2 und kartesian () auf zwei RDDs durchfü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 ()
# Create 3 - Betreff Namen
Subjekts_1 = Spark_App.SparkContext.parallelisieren (["Linux", "Bash", "JavaScript"])
#Display subjets_1 Rdd
print ("Subjekts_1 RDD:", Subjekts_1.sammeln())
# erstellen 2 - Betreff Namen
Subjekts_2 = Spark_App.SparkContext.parallelisieren (["Linux", "Java"])
#Display subjets_2 RDD
print ("Subjekts_2 RDD:", Subjekts_2.sammeln())
#Perform
print ("cartesian () Operation zu Subjekts_1 und Subjekts_2:", Subjekts_1.kartesischer (Subjekts_2).sammeln())

Ausgang:

Subjekts_1 RDD: ['Linux', 'Bash', 'JavaScript']
Subjekts_2 RDD: ['Linux', 'Java']
cartesian () Operation zu Subjekts_1 und Subjekts_2: [('Linux', 'Linux'), ('Linux', 'Java'), ('Bash', 'Linux'), ('JavaScript', 'Linux'), ('Bash', 'Java'), ('JavaScript', 'Java')]

Aus der Ausgabe können wir sehen, dass es im ersten RDD und 2 Elemente im zweiten RDD 3 Elemente gibt.

Wir führen einen kartesischen zu den Themen_1 und Subjekts_2 durch. Hier werden Elemente aus Subjekts_1 mit jedem Element in Subects_2 gepaart.

Abschluss

In diesem PYSPARK RDD -Tutorial haben wir gesehen, wie man Intersection () und cartesian () ausführt. Wir brauchen zwei RDDs, um diese Operationen durchzuführen.Intersection () gibt nur gemeinsame Elemente sowohl aus der RDD als auch aus dem kartesian () ein kartesischer Produkt zurück, so dass jedes Element in der ersten RDD mit allen Elementen aus der zweiten RDD in Form eines Paares kombiniert wird.