Pyspark dołącza do pary Rdd

Pyspark dołącza do pary Rdd
W Pythonie PySpark jest modułem iskry używanym do zapewnienia podobnego rodzaju przetwarzania, takiego jak Spark.

RDD oznacza odporne rozproszone zestawy danych. Możemy nazwać RDD jako podstawową strukturę danych w Apache Spark. Parę RDD przechowuje elementy/wartości w postaci par kluczowych. Będzie przechowywać parę wartości kluczowej w formacie (klucz, wartość).

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ć jednym wymiarami (dane liniowe) lub danych dwuwymiarowych (dane z kolumny wierszy).

W tym samouczku zobaczymy różne połączenia wykonane na Pyspark Pair Rdd. Wszystkie dołączenia działają na podstawie kluczy w parie RDD.

PYSPARK PARY RDD - dołącz ()

dołącz () służy do wykonywania wewnętrznego łączenia na parę RDD.

Wyniki łączenia wewnętrznego w RDD, wybierając tylko pasujące rzędy z dwóch RDD.

Składnia:

pary_rdd1.dołącz (para_rdd2)

Gdzie:

  1. pary_rdd1 to pierwszy RDD
  2. pary_rdd2 ​​to drugi RDD.

Przykład:

W tym przykładzie użyjemy Join () do wykonania wewnętrznego dołączenia na dwóch RDD.

#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 4 pary oceny tematu
tematy_rating1 = Spark_App.SparkContext.równoległość ([('Linux', 1), ('c#', 2), ('javascript', 4), ('Python', 5)])
# Utwórz 2 pary oceny tematu
tematy_rating2 = Spark_App.SparkContext.równoległość ([(„Linux”, 4), („java”, 2)])
#Perform Wewnętrzne dołączenie
Drukuj (tematy_rating1.dołącz (tematy_rating2).zbierać())

Wyjście:

[(„Linux”, (1, 4))]

Tutaj, tematy_rating1 jest pierwszym RDD, który ma następujące pary: („Linux”, 1), („C#”, 2), („javascript”, 4), („Python”, 5), a podmioty_rating2 jest pierwszym RDD który ma następujące pary: („Linux”, 4), („java”, 2).

Klucz - Linux istnieje w obu parach RDD. Stąd wartości są zwracane w odniesieniu do klucza.

PYSPARK PARY RDD - LUPUTERJOIN ()

SUPELOUTERJOIN () służy do wykonywania przyłączania w lewo na parze RDD.

Wyniki połączenia w lewo w RDD, wybierając wszystkie rzędy z pierwszego RDD i dopasowane tylko rzędy z drugiego RDD w odniesieniu do wierszy w pierwszym RDD.

Składnia:

pary_rdd1.resztki (para_rdd2)

Gdzie:

  1. pary_rdd1 to pierwszy RDD
  2. pary_rdd2 ​​to drugi RDD.

Przykład:

W tym przykładzie użyjemy lewatera () do wykonania lewego połączenia na dwóch RDD.

#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 4 pary oceny tematu
tematy_rating1 = Spark_App.SparkContext.równoległość ([('Linux', 1), ('c#', 2), ('javascript', 4), ('Python', 5)])
# Utwórz 2 pary oceny tematu
tematy_rating2 = Spark_App.SparkContext.równoległość ([(„Linux”, 4), („java”, 2)])
#Perform Left Outer Join
Drukuj (tematy_rating1.lewatoinoin (podmiot_rating2).zbierać())

Wyjście:

[(„Python”, (5, none)), ('Linux', (1, 4)), ('c#', (2, none)), ('javascript', (4, none))]

Tutaj, tematy_rating1 jest pierwszym RDD, który ma następujące pary: („Linux”, 1), („C#”, 2), („javascript”, 4), („Python”, 5), a podmioty_rating2 jest pierwszym RDD który ma następujące pary: („Linux”, 4), („java”, 2).

W drugim RDD nie ma klawiszy Python, C# i JavaScript, więc wartości nie są w drugiej wartości. Ale w obu RDD istnieje kluczowy. Zatem wartości 1,4 zostały zwrócone.

PYSPARK PARY RDD - REPTERJOIN ()

RighoutterJoin () służy do wykonywania prawego łączenia na parach RDD.

Right dołącz wyniki w RDD, wybierając wszystkie rzędy z drugiego RDD i dopasowało tylko rzędy z pierwszego RDD w odniesieniu do wierszy w drugim RDD.

Składnia:

pary_rdd1.Righterjoin (para_rdd2)

Gdzie:

  1. pary_rdd1 to pierwszy RDD
  2. pary_rdd2 ​​to drugi RDD.

Przykład:

W tym przykładzie użyjemy RighoutterJoin (), aby wykonać właściwe połączenie na dwóch RDD.

#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 4 pary oceny tematu
tematy_rating1 = Spark_App.SparkContext.równoległość ([('Linux', 1), ('c#', 2), ('javascript', 4), ('Python', 5)])
# Utwórz 2 pary oceny tematu
tematy_rating2 = Spark_App.SparkContext.równoległość ([(„Linux”, 4), („java”, 2)])
#Perform prawe połączenie zewnętrzne
Drukuj (tematy_rating1.RighterJoin (podmiot_rating2).zbierać())

Wyjście:

[(„java”, (none, 2)), („Linux”, (1, 4))]

Tutaj, tematy_rating1 jest pierwszym RDD, który ma następujące pary: („Linux”, 1), („C#”, 2), („javascript”, 4), („Python”, 5), a podmioty_rating2 jest pierwszym RDD który ma następujące pary: („Linux”, 4), („java”, 2).

W pierwszym RDD nie ma klucza Java, więc wartość nie ma w pierwszych wartościach RDD. Ale w obu RDD istnieje kluczowy. Zatem wartości 1,4 zostały zwrócone.

PYSPARK PARY RDD - FULLOUTERJOIN ()

FullOUTERJOIN () służy do wykonywania zewnętrznego połączenia na parę RDD.

Pełne wyniki łączenia zewnętrznego w RDD, wybierając wszystkie rzędy z obu RDD. Umieszcza wartości dla niezrównanych rzędów w obu RDD w poprzek rzędów.

Składnia:

pary_rdd1.FullOUTERJOIN (pary_rdd2)

Gdzie:

  1. pary_rdd1 to pierwszy RDD
  2. pary_rdd2 ​​to drugi RDD.

Przykład:

W tym przykładzie użyjemy FullOUTERJOIN () do wykonania zewnętrznego połączenia na dwóch RDD.

#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 4 pary oceny tematu
tematy_rating1 = Spark_App.SparkContext.równoległość ([('Linux', 1), ('c#', 2), ('javascript', 4), ('Python', 5)])
# Utwórz 2 pary oceny tematu
tematy_rating2 = Spark_App.SparkContext.równoległość ([(„Linux”, 4), („java”, 2)])
#Perform Zewnętrzne połączenie
Drukuj (tematy_rating1.FullOUTERJOIN (podmiot_rating2).zbierać())

Wyjście:

[(„Python”, (5, none)), („java”, (none, 2)), („Linux”, (1, 4)), ('c#', (2, none)), ( „JavaScript”, (4, none))]

Wniosek

W tym samouczku dowiedzieliśmy się, że Pyspark RDD obsługuje 4 rodzaje połączeń. Aby wykonać wewnętrzne połączenie, po prostu możemy użyć połączenia (), lewatoinoin () służy do wykonywania lewego połączenia, a prawy oin () służy do wykonania prawego łączenia. Aby wykonać zewnętrzne połączenie, używany jest FullOuterOoin ().