Pysspark takeordered und nimmt ein Beispiel

Pysspark takeordered und nimmt ein Beispiel
RDD steht für widerstandsfähige verteilte Datensätze. Wir können RDD als grundlegende Datenstruktur in Apache Spark bezeichnen.

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)

Wobei Daten ein eindimensionaler (linearer Daten) oder zweidimensionale Daten (Zeilendaten) sein können.

In diesem pyspark -Artikel werden wir über Takeordered () und TakesMample () -Funktionen diskutieren.

Pyspark takeordered ()

PYSPARK Takeordered () -Funktion wird verwendet, um eine neue RDD in einer Bestellung von vorhandenen RDD zurückzugeben.

Es dauert zwei Parameter.

Syntax:

takeordered (n, Schlüssel)

Parameter:

  1. N wird verwendet, um die Anzahl der Elemente in einer Reihenfolge in der neuen RDD zurückzugeben.
  2. Der Schlüssel ist ein optionaler Parameter, der eine anonyme Funktion erfordert, um die Elemente in aufsteigender Reihenfolge oder absteigender Reihenfolge zu erhalten.

Für die Aufstiegsreihenfolge kann die Funktion sein - Key = Lambda Element: Element

Für absteigende Reihenfolge kann die Funktion sein - Key = Lambda Element: -element

Es dauert ein minus (-) Zeichen, um Elemente in absteigender Reihenfolge zu nehmen.

Wenn es nicht angegeben ist, befinden sich die Elemente in der neuen RDD in aufsteigender Reihenfolge.

Beispiel 1:

In diesem Beispiel erstellen wir eine RDD mit 20 Elementen und wenden die Funktion takeordered () an, um die ersten 10 Elemente zu erhalten. Erste 12 Elemente getrennt in aufsteigender Reihenfolge mit dem Schlüsselparameter.

#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 Daten für Schülermarken mit 20 Elementen
Student_marks = Spark_App.SparkContext.parallelisieren ([89,76,78,89,90,100,34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display -Daten in RDD
print ("tatsächliche Daten in RDD:", Student_marks.Karte (Lambda -Element: Element).sammeln())
#GET 10 Elemente von RDD in aufsteigender Reihenfolge
Print ("10 Elemente von RDD in einer aufsteigenden Reihenfolge mit Schlüssel als Parameter:", Student_marks.takeordered (10, key = lambda Element: Element))
#GET 12 Elemente von RDD in einer aufsteigenden Reihenfolge
Print ("12 Elemente von RDD in einer aufsteigenden Reihenfolge mit Schlüssel als Parameter:", Student_marks.takeordered (12, key = lambda Element: Element))

Ausgang:

Tatsächliche Daten in RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 Elemente von RDD in einer aufsteigenden Reihenfolge mit Schlüssel als Parameter: [21, 22, 23, 34, 34, 34, 34, 43, 45, 54]
12 Elemente von RDD in einer aufsteigenden Reihenfolge mit Schlüssel als Parameter: [21, 22, 23, 34, 34, 34, 34, 43, 45, 54, 56, 56]

Sie können sehen, dass neue RDDs mit Elementen in aufsteigender Reihenfolge zurückgegeben werden.

Beispiel 2:

In diesem Beispiel erstellen wir eine RDD mit 20 Elementen und wenden die Funktion takeordered () an, um die ersten 10 Elemente zu erhalten. Die ersten 12 Elemente sind in aufsteigender Reihenfolge ohne Schlüsselparameter getrennt.

#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 Daten für Schülermarken mit 20 Elementen
Student_marks = Spark_App.SparkContext.parallelisieren ([89,76,78,89,90,100,34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display -Daten in RDD
print ("tatsächliche Daten in RDD:", Student_marks.Karte (Lambda -Element: Element).sammeln())
#GET 10 Elemente von RDD in aufsteigender Reihenfolge
Print ("10 Elemente von RDD in einer aufsteigenden Reihenfolge:", Student_marks.takeordered (10))
#GET 12 Elemente von RDD in einer aufsteigenden Reihenfolge
Print ("12 Elemente von RDD in einer aufsteigenden Reihenfolge:", student_marks.takeordered (12))

Ausgang:

Tatsächliche Daten in RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 Elemente von RDD in einer aufsteigenden Reihenfolge: [21, 22, 23, 34, 34, 34, 34, 43, 45, 54]
12 Elemente von RDD in einer aufsteigenden Reihenfolge: [21, 22, 23, 34, 34, 34, 34, 43, 45, 54, 56, 56]

Sie können sehen, dass neue RDDs mit Elementen in aufsteigender Reihenfolge noch ohne Schlüsselparameter zurückgegeben werden.

Beispiel 3:

In diesem Beispiel erstellen wir eine RDD mit 20 Elementen und wenden die Funktion taillodered () an, um das erste 10 Element zu erhalten. Die ersten 12 Elemente sind in absteigender Reihenfolge getrennt.

#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 Daten für Schülermarken mit 20 Elementen
Student_marks = Spark_App.SparkContext.parallelisieren ([89,76,78,89,90,100,34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display -Daten in RDD
print ("tatsächliche Daten in RDD:", Student_marks.Karte (Lambda -Element: Element).sammeln())
#GET 10 Elemente von RDD in absteigender Reihenfolge
print ("10 Elemente von RDD in einer absteigenden Reihenfolge:", Student_marks.takeordered (10, key = lambda element: -element)))
#GET 12 Elemente von RDD in absteigender Reihenfolge
Print ("12 Elemente von RDD in einer absteigenden Reihenfolge:", Student_marks.takeordered (12, key = lambda element: -element)))

Ausgang:

Tatsächliche Daten in RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 Elemente von RDD in einer absteigenden Reihenfolge: [100, 90, 89, 89, 78, 78, 76, 56, 56, 56]
12 Elemente von RDD in einer absteigenden Reihenfolge: [100, 90, 89, 89, 78, 78, 76, 56, 56, 56, 54, 45]

Sie können sehen, dass neue RDDs mit Elementen in absteigender Reihenfolge zurückgegeben werden. Für diesen Fall müssen Sie den Schlüsselparameter angeben.

Pyspark nimmt () nimmt ()

PYSPARK TACKABLE () -Funktion wird verwendet, um eine neue RDD mit zufälligen Werten aus einer vorhandenen RDD zurückzugeben. Es dauert zwei Parameter.

Syntax:

nimmt einstich (ersetzen, n)

Parameter:

  1. Ersetzen nimmt boolesche Werte ein. Wenn es auf True gesetzt ist, sind die zufälligen Werte, die in neue RDD zurückkehren, eindeutig (sie werden nicht wieder wiederholt/ersetzt). Wenn es auf false eingestellt ist, können die zufälligen Werte, die in eine neue RDD zurückkehren, wiederholt werden (sie können wiederholt/ersetzt werden)
  2. N wird verwendet, um die Anzahl der zufälligen Elemente in eine neue RDD zurückzugeben.

Beispiel 1:

In diesem Beispiel werden wir eine RDD mit 20 Elementen erstellen und 10 Elemente zurückgeben. 12 Elemente werden ohne Ersatz getrennt.

#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 Daten für Schülermarken mit 20 Elementen
Student_marks = Spark_App.SparkContext.parallelisieren ([89,76,78,89,90,100,34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display -Daten in RDD
print ("tatsächliche Daten in RDD:", Student_marks.Karte (Lambda -Element: Element).sammeln())
#GET 10 Elemente aus der RDD ohne Ersatz
Print ("10 Elemente aus der RDD ohne Ersatz:", Student_marks.nimmt (false, 10))
#GET 12 Elemente aus der RDD ohne Ersatz
Print ("12 Elemente aus der RDD ohne Ersatz:", Student_marks.nimmt (false, 12))

Ausgang:

Tatsächliche Daten in RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 Elemente aus der RDD ohne Ersatz: [89, 23, 78, 56, 43, 100, 89, 78, 76, 21]
12 Elemente aus der RDD ohne Ersatz: [89, 23, 43, 54, 34, 45, 78, 56, 22, 56, 34, 34]

Wir können feststellen, dass zufällige Werte in der neuen RDD nicht ersetzt werden.

Beispiel 2:

In diesem Beispiel werden wir eine RDD mit 20 Elementen erstellen und 10 Elemente zurückgeben. 12 Elemente sind mit Ersatz getrennt.

#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 Daten für Schülermarken mit 20 Elementen
Student_marks = Spark_App.SparkContext.parallelisieren ([89,76,78,89,90,100,34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display -Daten in RDD
print ("tatsächliche Daten in RDD:", Student_marks.Karte (Lambda -Element: Element).sammeln())
#GET 10 Elemente aus der RDD mit Ersatz
Print ("10 Elemente aus der RDD mit Ersatz:", Student_marks.nimmt (wahr, 10))
#GET 12 Elemente aus der RDD mit Ersatz
Print ("12 Elemente aus der RDD mit Ersatz:", Student_marks.nimmt (wahr, 12))

Ausgang:

Tatsächliche Daten in RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 Elemente aus der RDD mit Ersatz: [90, 34, 78, 34, 34, 89, 23, 22, 76, 21]
12 Elemente aus der RDD mit Ersatz: [43, 78, 78, 78, 78, 89, 21, 100, 89, 78, 34, 22]

Wir können beobachten, dass zufällige Werte in beiden neuen RDDs ersetzt werden, da wir den Parameter auf true festlegen.

Abschluss

In diesem PySpark -Tutorial haben wir gesehen. Beide werden verwendet, um die neue RDD aus der vorhandenen RDD zurückzugeben.

takeordered () gibt die neue RDD von einer vorhandenen RDD mit Elementen in einer Sortierreihenfolge zurück. Es ist möglich, die sortierten Daten in absteigender Reihenfolge zu erhalten, indem der Schlüsselparameter über die Lambda -Funktion verwendet wird.

tadelaMample () gibt die neue RDD von einem vorhandenen RDD mit einigen Elementen zufällig zurück. Es ist möglich, die zufällig erzeugten Werte im neuen RDD erneut mit dem Parameter Ersatz zu wiederholen.