Pyspark TakeOrded i Takeample

Pyspark TakeOrded i Takeample
RDD oznacza odporne rozproszone zestawy danych. Możemy nazwać RDD jako podstawową strukturę danych w Apache Spark.

Musimy zaimportować RDD z Pyspark.Moduł RDD.

W PYSPARK, aby utworzyć RDD, możemy użyć metody równoległości ().

Składnia:

Spark_App.SparkContext.równoległość (dane)

Gdzie dane mogą być jednowymiarowymi (danymi liniowymi) lub danymi dwuwymiarowymi (dane z kolumny Row).

W tym artykule Pyspark omówimy funkcje TakeOrderred () i Takeample ().

Pyspark TakeOrdered ()

Funkcja PYSPARK TakeOrdered () służy do zwrócenia nowego RDD w kolejności z istniejącego RDD.

Wymaga dwóch parametrów.

Składnia:

TakeOrdered (n, klucz)

Parametry:

  1. n służy do zwrócenia liczby elementów w kolejności w nowym RDD.
  2. Klucz jest opcjonalnym parametrem, który przyjmuje funkcję anonimową, aby uzyskać elementy w kolejności rosnącej lub zejściu.

W kolejności rosnącej funkcja może być - key = element Lambda: Element

W kolejności malejącej funkcja może być - klucz = element lambda: -element

Znak Minus (-) wymaga elementów w kolejności malejącej.

Jeśli nie zostanie to określone, elementy w nowym RDD będą w porządku rosnącym.

Przykład 1:

W tym przykładzie tworzymy RDD z 20 elementami i stosujemy funkcję TakeOrdered (), aby uzyskać pierwsze 10 elementów. Pierwsze 12 elementów osobno w kolejności rosnącej za pomocą parametru kluczowego.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
# Importuj RDD z Pyspark.RDD
od Pyspark.RDD Import RDD
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane uczniów z 20 elementami
student_marks = Spark_App.SparkContext.równoległe ([89,76,78,89,90 100, 34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display Dane w RDD
Drukuj („Rzeczywiste dane w RDD:”, Student_marks.Mapa (element Lambda: Element).zbierać())
#Ge 10 elementów z RDD w kolejności rosnącej
Wydrukuj („10 elementów z RDD w kolejności rosnącej z kluczem jako parametr:”, Student_marks.TakeOrdered (10, key = Lambda Element: Element))
#Ge 12 elementów z RDD w kolejności rosnącej
Wydrukuj („12 elementów z RDD w kolejności rosnącej z kluczem jako parametr:”, Student_marks.TakeOrdered (12, key = Lambda Element: Element))

Wyjście:

Rzeczywiste dane w RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 elementów z RDD w kolejności rosnącej z kluczem jako parametr: [21, 22, 23, 34, 34, 34, 34, 43, 45, 54]
12 elementów z RDD w kolejności rosnącej z kluczem jako parametr: [21, 22, 23, 34, 34, 34, 34, 43, 45, 54, 56, 56]

Możesz zobaczyć, że nowe RDD są zwracane z elementami w kolejności rosnącej.

Przykład 2:

W tym przykładzie tworzymy RDD z 20 elementami i stosujemy funkcję TakeOrdered (), aby uzyskać pierwsze 10 elementów. Pierwsze 12 elementów jest oddzielone w kolejności rosnącej bez kluczowego parametru.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
# Importuj RDD z Pyspark.RDD
od Pyspark.RDD Import RDD
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane uczniów z 20 elementami
student_marks = Spark_App.SparkContext.równoległe ([89,76,78,89,90 100, 34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display Dane w RDD
Drukuj („Rzeczywiste dane w RDD:”, Student_marks.Mapa (element Lambda: Element).zbierać())
#Ge 10 elementów z RDD w kolejności rosnącej
Wydrukuj („10 elementów z RDD w kolejności rosnącej:”, Student_marks.TakeOrdered (10))
#Ge 12 elementów z RDD w kolejności rosnącej
Drukuj („12 elementów z RDD w kolejności rosnącej:”, Student_marks.TakeOrdered (12))

Wyjście:

Rzeczywiste dane w RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 elementów z RDD w kolejności rosnącej: [21, 22, 23, 34, 34, 34, 34, 43, 45, 54]
12 elementów z RDD w kolejności rosnącej: [21, 22, 23, 34, 34, 34, 34, 43, 45, 54, 56, 56]

Widać, że nowe RDD są zwracane z elementami w kolejności rosnącej nadal bez kluczowego parametru.

Przykład 3:

W tym przykładzie tworzymy RDD z 20 elementami i stosujemy funkcję TakeOrdered (), aby uzyskać pierwsze 10 elementów. Pierwsze 12 elementów jest oddzielone w kolejności malejącej.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
# Importuj RDD z Pyspark.RDD
od Pyspark.RDD Import RDD
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane uczniów z 20 elementami
student_marks = Spark_App.SparkContext.równoległe ([89,76,78,89,90 100, 34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display Dane w RDD
Drukuj („Rzeczywiste dane w RDD:”, Student_marks.Mapa (element Lambda: Element).zbierać())
#Ge 10 elementów z RDD w kolejności malejącej
Drukuj („10 elementów z RDD w kolejności malejącej:”, Student_marks.TakeOrdered (10, key = Lambda Element: -element))
#Ge 12 elementów z RDD w kolejności malejącej
Drukuj („12 elementów z RDD w kolejności malejącej:”, Student_marks.TakeOrdered (12, key = Lambda Element: -element))

Wyjście:

Rzeczywiste dane w RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 elementów z RDD w kolejności malejącej: [100, 90, 89, 89, 78, 78, 76, 56, 56, 56]
12 elementów z RDD w kolejności malejącej: [100, 90, 89, 89, 78, 78, 76, 56, 56, 56, 54, 45]

Możesz zobaczyć, że nowe RDD są zwracane z elementami w kolejności malejącej. W tym przypadku musisz określić kluczowy parametr.

Pyspark Takeample ()

Funkcja PYSPARK Takeample () służy do zwrócenia nowego RDD z losowymi wartościami z istniejącego RDD. Wymaga dwóch parametrów.

Składnia:

Takeample (zamień, n)

Parametry:

  1. Wymień przyjmuje wartości logiczne. Jeśli jest ustawiony na true, wówczas losowe wartości powracające do nowego RDD są unikalne (nie są powtarzane/wymieniane ponownie). Jeśli jest ustawiony na false, wówczas losowe wartości powracające do nowego RDD można powtórzyć (można je powtórzyć/wymienić ponownie)
  2. n służy do zwrócenia liczby losowych elementów do nowego RDD.

Przykład 1:

W tym przykładzie utworzymy RDD z 20 elementami i zwrócimy 10 elementów. 12 elementów jest oddzielone bez wymiany.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
# Importuj RDD z Pyspark.RDD
od Pyspark.RDD Import RDD
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane uczniów z 20 elementami
student_marks = Spark_App.SparkContext.równoległe ([89,76,78,89,90 100, 34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display Dane w RDD
Drukuj („Rzeczywiste dane w RDD:”, Student_marks.Mapa (element Lambda: Element).zbierać())
#ge 10 elementów z RDD bez wymiany
Drukuj („10 elementów z RDD bez wymiany:”, Student_marks.Takesample (False, 10))
#ge 12 elementów z RDD bez wymiany
Drukuj („12 elementów z RDD bez wymiany:”, Student_marks.Takeample (False, 12))

Wyjście:

Rzeczywiste dane w RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 elementów z RDD bez wymiany: [89, 23, 78, 56, 43, 100, 89, 78, 76, 21]
12 elementów z RDD bez wymiany: [89, 23, 43, 54, 34, 45, 78, 56, 22, 56, 34, 34]

Możemy zauważyć, że losowe wartości nie są zastępowane w nowym RDD.

Przykład 2:

W tym przykładzie utworzymy RDD z 20 elementami i zwrócimy 10 elementów. 12 elementów jest oddzielone zastępstwem.

#Wportu na moduł PYSPARK
Import Pyspark
#Import Sparksession do tworzenia sesji
od Pyspark.SQL Import Sparksession
# Importuj RDD z Pyspark.RDD
od Pyspark.RDD Import RDD
#Utworz aplikację o nazwie Linuxhint
Spark_App = Sparksession.budowniczy.AppName („Linuxhint”).getorCreate ()
# Utwórz dane uczniów z 20 elementami
student_marks = Spark_App.SparkContext.równoległe ([89,76,78,89,90 100, 34,56,54,22,45,43,23,56,78,21,34,34,56,34])
#Display Dane w RDD
Drukuj („Rzeczywiste dane w RDD:”, Student_marks.Mapa (element Lambda: Element).zbierać())
#ge 10 elementów z RDD z wymianą
Drukuj („10 elementów z RDD z zastępowaniem:”, Student_marks.Takeample (True, 10))
#ge 12 elementów z RDD z zastępowaniem
Drukuj („12 elementów z RDD z zastępowaniem:”, Student_marks.Takesample (True, 12))

Wyjście:

Rzeczywiste dane w RDD: [89, 76, 78, 89, 90, 100, 34, 56, 54, 22, 45, 43, 23, 56, 78, 21, 34, 34, 56, 34]
10 elementów z RDD z wymianą: [90, 34, 78, 34, 34, 89, 23, 22, 76, 21]
12 elementów z RDD z wymianą: [43, 78, 78, 78, 78, 89, 21, 100, 89, 78, 34, 22]

Możemy zauważyć, że losowe wartości są zastępowane w obu nowych RDD, ponieważ ustawiamy parametr na true.

Wniosek

W tym samouczku Pyspark widzieliśmy, jak używać funkcji TakeOrdered () i Takeample () na RDD. Oba są używane do zwrotu nowego RDD z istniejącego RDD.

TakeOrdered () zwraca nowy RDD z istniejącego RDD z elementami w kolejności sortowania. Możliwe jest uzyskanie posortowanych danych w kolejności malejącej za pomocą kluczowego parametru za pośrednictwem funkcji Lambda.

Takeample () zwraca nowy RDD z istniejącego RDD z pewnymi elementami losowo. Możliwe jest powtórzenie losowo wygenerowanych wartości w nowym RDD za pomocą parametru zastępowania.