Pyspark se une en par rdd

Pyspark se une en par rdd
En Python, Pyspark es un módulo de chispa utilizado para proporcionar un tipo de procesamiento similar como Spark.

RDD significa conjuntos de datos distribuidos resilientes. Podemos llamar a RDD como una estructura de datos fundamental en Apache Spark. Par de RDD almacena los elementos/valores en forma de pares de valores clave. Almacenará el par de valores clave en el formato (clave, valor).

Necesitamos importar RDD del Pyspark.módulo RDD.

En Pyspark para crear un RDD, podemos usar el método Parallelize ().

Sintaxis:

Spark_app.sparkcontext.Paralelizar (datos)

Dónde:

Los datos pueden ser un dimensional (datos lineales) o dos dimensiones (datos de columna de fila).

En este tutorial, veremos diferentes uniones realizadas en Pyspark Par Rdd. Todos se unen al trabajo basado en las teclas en el par rdd.

Pyspark Par Rdd - unir ()

unir () se usa para realizar un unión interno en el par rdd.

Resultados de unión interna en el RDD seleccionando solo las filas coincidentes de dos RDD.

Sintaxis:

par_rdd1.unir (par_rdd2)

Dónde:

  1. par_rdd1 es el primer RDD
  2. par_rdd2 ​​es el segundo RDD.

Ejemplo:

En este ejemplo, utilizaremos Join () para realizar un Join Inner en dos RDD.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
# Importar RDD de Pyspark.RDD
de Pyspark.RDD import rdd
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 4 pares de calificación de sujetos
Sujets_rating1 = Spark_App.sparkcontext.Paralelize ([(('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5)])
# Crear 2 pares de calificación de sujetos
Sujets_rating2 = Spark_App.sparkcontext.Paralelize ([('Linux', 4), ('Java', 2)]))
#PERFORM ANTER INNER
imprimir (temas_rating1.unirse (temas_rating2).recolectar())

Producción:

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

Aquí, temas_rating1 es el primer RDD que tiene los siguientes pares: ('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5) y Sujets_Rating2 es el primer RDD que tiene los siguientes pares: ('Linux', 4), ('Java', 2).

Entonces, la clave: Linux existe en el par RDD. Por lo tanto, los valores se devuelven con respecto a la clave.

Pyspark Par RDD - Leftouterjoin ()

Leftouterjoin () se usa para realizar una unión a la izquierda en el par rdd.

Los resultados de la unión a la izquierda en el RDD seleccionando todas las filas del primer RDD y solo las filas coincidentes del segundo RDD con respecto a las filas en el primer RDD.

Sintaxis:

par_rdd1.Leftouterjoin (par_rdd2)

Dónde:

  1. par_rdd1 es el primer RDD
  2. par_rdd2 ​​es el segundo RDD.

Ejemplo:

En este ejemplo, usaremos Leftouterjoin () para realizar una unión a la izquierda en dos RDD.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
# Importar RDD de Pyspark.RDD
de Pyspark.RDD import rdd
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 4 pares de calificación de sujetos
Sujets_rating1 = Spark_App.sparkcontext.Paralelize ([(('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5)])
# Crear 2 pares de calificación de sujetos
Sujets_rating2 = Spark_App.sparkcontext.Paralelize ([('Linux', 4), ('Java', 2)]))
#rendimiento izquierdo externo se une
imprimir (temas_rating1.Leftouterjoin (temas_rating2).recolectar())

Producción:

[('Python', (5, ninguno)), ('Linux', (1, 4)), ('C#', (2, Ninguno)), ('JavaScript', (4, Ninguno))]]

Aquí, temas_rating1 es el primer RDD que tiene los siguientes pares: ('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5) y Sujets_Rating2 es el primer RDD que tiene los siguientes pares: ('Linux', 4), ('Java', 2).

No hay claves de Python, C# y JavaScript en el segundo RDD, por lo que los valores son ninguno en los segundos valores de RDD. Pero Key-Linux existe en ambos RDD. Por lo tanto, los valores 1,4 fueron devueltos.

Pyspark Par RDD - REDEOUTERJOIN ()

RETRODEUTERJOIN () se usa para realizar una unión a la derecha en Par RDD.

Resultados de unión a la derecha en el RDD seleccionando todas las filas del segundo RDD y solo filas coincidentes del primer RDD con respecto a las filas en el segundo RDD.

Sintaxis:

par_rdd1.REDEOUTERJOIN (par_rdd2)

Dónde:

  1. par_rdd1 es el primer RDD
  2. par_rdd2 ​​es el segundo RDD.

Ejemplo:

En este ejemplo, usaremos RETRODEUTERJOIN () para realizar una unión correcta en dos RDD.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
# Importar RDD de Pyspark.RDD
de Pyspark.RDD import rdd
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 4 pares de calificación de sujetos
Sujets_rating1 = Spark_App.sparkcontext.Paralelize ([(('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5)])
# Crear 2 pares de calificación de sujetos
Sujets_rating2 = Spark_App.sparkcontext.Paralelize ([('Linux', 4), ('Java', 2)]))
#rendimiento derecho
imprimir (temas_rating1.REDEOUTERJOIN (SUJETS_RATING2).recolectar())

Producción:

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

Aquí, temas_rating1 es el primer RDD que tiene los siguientes pares: ('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5) y Sujets_Rating2 es el primer RDD que tiene los siguientes pares: ('Linux', 4), ('Java', 2).

No hay una clave Java en el primer RDD, por lo que el valor es ninguno en los primeros valores de RDD. Pero Key-Linux existe en ambos RDD. Por lo tanto, los valores 1,4 fueron devueltos.

Pyspark Par RDD - Fullouterjoin ()

Fullouterjoin () se usa para realizar una unión externa en el par rdd.

Resultados de unión externa completa en el RDD seleccionando todas las filas de ambas RDD. No coloca valores para las filas inigualables en ambas RDD a través de las filas.

Sintaxis:

par_rdd1.Fullouterjoin (par_rdd2)

Dónde:

  1. par_rdd1 es el primer RDD
  2. par_rdd2 ​​es el segundo RDD.

Ejemplo:

En este ejemplo, usaremos Fullouterjoin () para realizar una unión externa en dos RDD.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
# Importar RDD de Pyspark.RDD
de Pyspark.RDD import rdd
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear 4 pares de calificación de sujetos
Sujets_rating1 = Spark_App.sparkcontext.Paralelize ([(('Linux', 1), ('C#', 2), ('JavaScript', 4), ('Python', 5)])
# Crear 2 pares de calificación de sujetos
Sujets_rating2 = Spark_App.sparkcontext.Paralelize ([('Linux', 4), ('Java', 2)]))
#Perminer Outer Join
imprimir (temas_rating1.Fullouterjoin (temas_rating2).recolectar())

Producción:

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

Conclusión

Con este tutorial, llegamos a saber que Pyspark Rdd admite 4 tipos de uniones. Para realizar la unión interna, simplemente podemos usar Join (), LeftouterJoin () se usa para realizar la JOIN LEART y REDEDEOUTERJOIN () se usa para realizar la unión derecha. Para realizar la unión externa, se usa Fullouterjoin ().