Pyspark - SQL se une

Pyspark - SQL se une
En Python, Pyspark es un módulo Spark utilizado para proporcionar un tipo similar de procesamiento como Spark usando DataFrame.

En Pyspark, las uniones de SQL se utilizan para unir dos o más marcos de datos en función de la condición dada. Solo necesitamos pasar una consulta SQL para realizar diferentes uniones en el Pyspark Dataframes. Chispa - chispear.SQL () se usa para realizar SQL unirse en Pyspark. Antes de eso, tenemos que crear una vista temporal para los dos marcos de datos de Pyspark utilizando el método CreateRepLacetEMPView (). Desde este punto de vista, podemos realizar uniones de SQL.

Sintaxis:

marco de datos.CreateRePlaceTempView ("View_name")

Dónde:

  1. DataFrame es el Pyspark DataFrame.
  2. ver_name es el nombre temporal para DataFrame.

Hay diferentes uniones que se aplican en los dos marcos de datos de Pyspark. Antes de conocer estos tipos, creemos dos marcos de datos de Pyspark.

First DataFrame:

En el siguiente ejemplo, vamos a crear el PySpark DataFrame con 5 filas y 6 columnas con datos personales del estudiante y mostrar usando el método show ():

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ("Linuxhint ').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 23, 'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'ojaswi' ',' edad ': 16,' altura ': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7, 'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'rollno': '004', 'nombre': 'rohith', 'edad': 9, 'altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37, 'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# marco de datos
df.espectáculo()

Producción:

Segundo marco de datos

En el siguiente ejemplo, vamos a crear el marco de datos de Pyspark con 5 filas y 3 columnas con datos de marcas de estudiante y mostrar usando el método show ():

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de Student_Marks con 5 filas y 6 atributos
Students_marks = ['Rollno': '001', 'temas1': 78, 'temas2': 98,
'Rollno': '002', 'Sujeto1': 83, 'Sujeto2': 69,
'Rollno': '005', 'Sujeto1': 95, 'Sujeto2': 90,
'Rollno': '004', 'Sujeto1': 76, 'Sujeto2': 100,
'Rollno': '007', 'Sujeto1': 90, 'Sujeto2': 91]
# Crea el DataFrame
DF2 = Spark_App.CreatedataFrame (Students_Marks)
# marco de datos
DF2.espectáculo()

Producción:

Observación:

De los dos marcos de datos, hemos observado que Rollno es la columna que es común en ambos marcos de datos. Entonces, podemos aplicar la condición a esta columna. Las filas - 001, 002, 004 y 005 - coinciden en ambos marcos de datos.

UNIR INTERNAMENTE

Resultados de unión interna en el marco de datos seleccionando solo las filas coincidentes de dos marcos de datos.
La palabra clave utilizada es "interior", que es la unión predeterminada.

Sintaxis:

Chispa - chispear.SQL (seleccione * de V1 Inner Join v2 en V1.column_name == v2.column_name)

Dónde:

  1. * se refiere a seleccionar todas las columnas de ambos marcos de datos.
  2. V1 se refiere a la vista temporal para el primer cuadro de datos.
  3. V2 se refiere a la vista temporal para el segundo marco de datos.
  4. Column_name es la columna que existe común (filas comunes) en ambos marcos de datos. (Basado en esta columna, realizaremos la operación de unión)

Ejemplo:

En este ejemplo, estamos utilizando la palabra clave de unión interna para unir ambos marcos de datos. Entonces, el resultado será 001, 002, 004 y 005 filas. Porque son comunes en ambos marcos de datos en la columna Rollno. Finalmente, estamos aplicando el método Show () para mostrar el Pyspark DataFrame unido.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ("Linuxhint ').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 23, 'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'ojaswi', 'edad': 16, 'altura': 3.79, 'Peso': 34, "Dirección ':' Hyd ',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7, 'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'rollno': '004', 'nombre': 'rohith', 'edad': 9, 'altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37, 'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Crear datos de Student_Marks con 5 filas y 6 atributos
Students_marks = ["rollno ':' 001 ',' temas1 ': 78,' temas2 ': 98,
'Rollno': '002', 'Sujeto1': 83, 'Sujeto2': 69,
'Rollno': '005', 'Sujeto1': 95, 'Sujeto2': 90,
'Rollno': '004', 'Sujeto1': 76, 'Sujeto2': 100,
'Rollno': '007', 'Sujeto1': 90, 'Sujeto2': 91]
# Crea el DataFrame
DF2 = Spark_App.CreatedataFrame (Students_Marks)
# Crear vista para DF con nombres como estudiante
df.CreateRePlaceTempView ("Estudiante")
# Crear vista para DF2 con nombres como marcas
DF2.createRePlaceTempView ("Marcas")
# Realizar una unión interior
Chispa - chispear.SQL ("Seleccionar * del estudiante interno de unión a las marcas en el estudiante.Rollno == Marcas.Rollno ").espectáculo()

Producción:

Se unió a la izquierda

Los resultados de unión de izquierda en el marco de datos seleccionando todas las filas de la primera marca de datos y solo coinciden con filas de la segunda marca de datos con respecto a las filas en el primer cuadro de datos.

Sintaxis:

Chispa - chispear.SQL (Seleccione * de V1 Left Loin V2 en V1.column_name == v2.column_name)

Dónde:

  1. * se refiere a seleccionar todas las columnas de ambos marcos de datos.
  2. V1 se refiere a la vista temporal para el primer cuadro de datos.
  3. V2 se refiere a la vista temporal para el segundo marco de datos.
  4. column_name es la columna que existe común (filas comunes) en ambas marcas de datos. (Basado en esta columna, realizaremos la operación de unión)

Ejemplo:

En este ejemplo, estamos utilizando la palabra clave de unión a la izquierda para unir ambos marcos de datos. Por lo tanto, el resultado será de 001,002, 003, 004 y 005 filas del primer cuadro de datos y 001, 002, 004 y 005 de las segundas marcos de datos de la segunda marca de datos. La fila 007 en el segundo marco de datos no coincide con ninguna de las filas en el primer marco de datos. Entonces, NULL se agregará en esta fila. Finalmente, estamos aplicando el método Show () para mostrar el Pyspark DataFrame unido.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 23, 'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'ojaswi', 'edad': 16, 'altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7, 'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'rollno': '004', 'nombre': 'rohith', 'edad': 9, 'altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37, 'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Crear datos de Student_Marks con 5 filas y 6 atributos
Students_marks = ['Rollno': '001', 'temas1': 78, 'temas2': 98,
'Rollno': '002', 'Sujeto1': 83, 'Sujeto2': 69,
'Rollno': '005', 'Sujeto1': 95, 'Sujeto2': 90,
'Rollno': '004', 'Sujeto1': 76, 'Sujeto2': 100,
'Rollno': '007', 'Sujeto1': 90, 'Sujeto2': 91]
# Crea el DataFrame
DF2 = Spark_App.CreatedataFrame (Students_Marks)
# Crear vista para DF con nombres como estudiante
df.CreateRePlaceTempView ("Estudiante")
# Crear vista para DF2 con nombres como marcas
DF2.createRePlaceTempView ("Marcas")
# Realizar a la izquierda unirse
Chispa - chispear.SQL ("Seleccione * de Student Left Marks en el estudiante.Rollno == Marcas.Rollno ").espectáculo()

Producción:

IZQUIERDA COMBINACIÓN EXTERNA

Los resultados de la unión externa izquierda en el marco de datos seleccionando todas las filas de la primera marca de datos y solo coinciden con filas del segundo marco de datos con respecto a las filas en el primer cuadro de datos. Es similar a la izquierda unirse.

Sintaxis:

Chispa - chispear.SQL (seleccione * de V1 Izquierda Exterior Unión V2 en V1.column_name == v2.column_name)

Dónde:

  1. * se refiere a seleccionar todas las columnas de ambos marcos de datos.
  2. V1 se refiere a la vista temporal para el primer cuadro de datos.
  3. V2 se refiere a la vista temporal para el segundo marco de datos.
  4. column_name es la columna que existe común (filas comunes) en ambas marcas de datos. (Basado en esta columna, realizaremos la operación de unión)

Ejemplo:
En este ejemplo, estamos utilizando la palabra clave de unión externa izquierda para unir ambos marcos de datos. Por lo tanto, el resultado será 001, 002, 003, 004 y 005 filas de las filas de DataFrame y 001, 002, 004 y 005 de la segunda fotograma de datos de la segunda. La fila 007 en el segundo marco de datos no coincide con ninguna fila en el primer marco de datos. Entonces, NULL se agregará en esta fila. Finalmente, estamos aplicando el método Show () para mostrar el Pyspark DataFrame unido.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 23, 'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'ojaswi', 'edad': 16, 'altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7, 'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'rollno': '004', 'nombre': 'rohith', 'edad': 9, 'altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37, 'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Crear datos de Student_Marks con 5 filas y 6 atributos
Students_marks = ['Rollno': '001', 'temas1': 78, 'temas2': 98,
'Rollno': '002', 'Sujeto1': 83, 'Sujeto2': 69,
'Rollno': '005', 'Sujeto1': 95, 'Sujeto2': 90,
'Rollno': '004', 'Sujeto1': 76, 'Sujeto2': 100,
'Rollno': '007', 'Sujeto1': 90, 'Sujeto2': 91]
# Crea el DataFrame
DF2 = Spark_App.CreatedataFrame (Students_Marks)
# Crear vista para DF con nombres como estudiante
df.CreateRePlaceTempView ("Estudiante")
# Crear vista para DF2 con nombres como marcas
DF2.createRePlaceTempView ("Marcas")
# Realizar una unión externa izquierda
Chispa - chispear.SQL ("Seleccione * del estudiante izquierda Exterior de unión de unión en el estudiante.Rollno == Marcas.Rollno ").espectáculo()

Producción:

Juego correcto

Resultados de unión correcta en el marco de datos seleccionando todas las filas de la segunda marca de datos y solo coinciden con filas de la primera marca de datos con respecto a las filas en la segunda marca de datos. Coloca nulo Valores para las filas inigualables en el primer cuadro de datos.

Sintaxis:

Chispa - chispear.SQL (Seleccione * de V1 Right Join V2 en V1.column_name == v2.column_name)

Dónde:

  1. * se refiere a seleccionar todas las columnas de ambos marcos de datos.
  2. V1 se refiere a la vista temporal para el primer cuadro de datos.
  3. V2 se refiere a la vista temporal para el segundo marco de datos.
  4. column_name es la columna que existe común (filas comunes) en ambas marcas de datos. (Basado en esta columna, realizaremos la operación de unión)

Ejemplo:

En este ejemplo, estamos utilizando la palabra clave de unión correcta para unir ambos marcos de datos. Por lo tanto, el resultado será 001, 002, 007, 004 y 005 filas del segundo marcado de datos y 001, 002, 004 y 005 de las primeras marcas de datos de la primera marca de datos. La fila 003 en el primer marco de datos no se combina con ninguna de las filas en el segundo marco de datos. Entonces, NULL se agregará en esta fila. Finalmente, estamos aplicando el método Show () para mostrar el Pyspark DataFrame unido.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 23, 'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'ojaswi', 'edad': 16, 'altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7, 'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'rollno': '004', 'nombre': 'rohith', 'edad': 9, 'altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37, 'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Crear datos de Student_Marks con 5 filas y 6 atributos
Students_marks = ['Rollno': '001', 'temas1': 78, 'temas2': 98,
'Rollno': '002', 'Sujeto1': 83, 'Sujeto2': 69,
'Rollno': '005', 'Sujeto1': 95, 'Sujeto2': 90,
'Rollno': '004', 'Sujeto1': 76, 'Sujeto2': 100,
'Rollno': '007', 'Sujeto1': 90, 'Sujeto2': 91]
# Crea el DataFrame
DF2 = Spark_App.CreatedataFrame (Students_Marks)
# Crear vista para DF con nombres como estudiante
df.CreateRePlaceTempView ("Estudiante")
# Crear vista para DF2 con nombres como marcas
DF2.createRePlaceTempView ("Marcas")
# Realizar a la derecha
Chispa - chispear.SQL ("Seleccionar * de las marcas de unión a la derecha del estudiante en el estudiante.Rollno == Marcas.Rollno ").espectáculo()

Producción:

Unión exterior derecha

Los resultados de la unión externa derecha en el marco de datos seleccionando todas las filas del segundo marco de datos y solo coinciden con filas de la primera marco de datos con respecto a las filas en la segunda marca de datos. Coloca nulo Valores para las filas inigualables en el primer cuadro de datos. Es similar a la unión correcta.

Sintaxis:
Chispa - chispear.SQL (Seleccione * de V1 Right Outer Join V2 en V1.column_name == v2.column_name)

Dónde:

  1. * se refiere a seleccionar todas las columnas de ambos marcos de datos.
  2. V1 se refiere a la vista temporal para el primer cuadro de datos.
  3. V2 se refiere a la vista temporal para el segundo marco de datos.
  4. column_name es la columna que existe común (filas comunes) en ambas marcas de datos. (Basado en esta columna, realizaremos la operación de unión)

Ejemplo:

En este ejemplo, estamos utilizando la palabra clave de unión exterior correcta para unir ambos marcos de datos. Por lo tanto, el resultado será 001, 002, 007, 004 y 005 filas del segundo marcado de datos y 001, 002, 004 y 005 de las primeras marcas de datos de la primera marca de datos. La fila 003 en el primer marco de datos no coincide con ninguna de las filas en el segundo marco de datos. Entonces, NULL se agregará en esta fila. Finalmente, estamos aplicando el método Show () para mostrar el Pyspark DataFrame unido.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 23, 'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'ojaswi', 'edad': 16, 'altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7, 'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'rollno': '004', 'nombre': 'rohith', 'edad': 9, 'altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37, 'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Crear datos de Student_Marks con 5 filas y 6 atributos
Students_marks = ['Rollno': '001', 'temas1': 78, 'temas2': 98,
'Rollno': '002', 'Sujeto1': 83, 'Sujeto2': 69,
'Rollno': '005', 'Sujeto1': 95, 'Sujeto2': 90,
'Rollno': '004', 'Sujeto1': 76, 'Sujeto2': 100,
'Rollno': '007', 'Sujeto1': 90, 'Sujeto2': 91]
# Crea el DataFrame
DF2 = Spark_App.CreatedataFrame (Students_Marks)
# Crear vista para DF con nombres como estudiante
df.CreateRePlaceTempView ("Estudiante")
# Crear vista para DF2 con nombres como marcas
DF2.createRePlaceTempView ("Marcas")
# Realizar una unión externa derecha
Chispa - chispear.SQL ("Seleccionar * del estudiante derecho de unión a la derecha en el estudiante.Rollno == Marcas.Rollno ").espectáculo()

Producción:

Completa

Resultados de unión completa en DataFrame seleccionando todas las filas de ambas marcos de datos. Coloca nulo Valores para las filas inigualables en ambos marcos de datos en las filas.

Sintaxis:

Chispa - chispear.SQL (Seleccione * de V1 Full Join V2 en V1.column_name == v2.column_name)

Dónde:

  1. * se refiere a seleccionar todas las columnas de ambos marcos de datos.
  2. V1 se refiere a la vista temporal para el primer cuadro de datos.
  3. V2 se refiere a la vista temporal para el segundo marco de datos.
  4. column_name es la columna que existe común (filas comunes) en ambas marcas de datos. (Basado en esta columna, realizaremos la operación de unión)

Ejemplo:

En el siguiente ejemplo, estamos utilizando la palabra clave de unión completa para unir ambos marcos de datos. Entonces, el resultado será de ambos marcos de datos.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 23, 'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'ojaswi', 'edad': 16, 'altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7, 'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'rollno': '004', 'nombre': 'rohith', 'edad': 9, 'altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37, 'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Crear datos de Student_Marks con 5 filas y 6 atributos
Students_marks = ['Rollno': '001', 'temas1': 78, 'temas2': 98,
'Rollno': '002', 'Sujeto1': 83, 'Sujeto2': 69,
'Rollno': '005', 'Sujeto1': 95, 'Sujeto2': 90,
'Rollno': '004', 'Sujeto1': 76, 'Sujeto2': 100,
'Rollno': '007', 'Sujeto1': 90, 'Sujeto2': 91]
# Crea el DataFrame
DF2 = Spark_App.CreatedataFrame (Students_Marks)
# Crear vista para DF con nombres como estudiante
df.CreateRePlaceTempView ("Estudiante")
# Crear vista para DF2 con nombres como marcas
DF2.createRePlaceTempView ("Marcas")
# Realizar una unión completa
Chispa - chispear.SQL ("Seleccione * de Student Full Flow Marks en el estudiante.Rollno == Marcas.Rollno ").espectáculo()

Producción:

Unión externa completa

Resultados de la unión externa completa en el marco de datos seleccionando todas las filas de DataFrames. Coloca nulo Valores para las filas inigualables en ambos marcos de datos en las filas.

Sintaxis:

Chispa - chispear.SQL (Seleccione * de V1 Full Outer Join V2 en V1.column_name == v2.column_name)

Dónde:

  1. * se refiere a seleccionar todas las columnas de ambos marcos de datos.
  2. V1 se refiere a la vista temporal para el primer cuadro de datos.
  3. V2 se refiere a la vista temporal para el segundo marco de datos.
  4. column_name es la columna que existe común (filas comunes) en ambas marcas de datos. (Basado en esta columna, realizaremos la operación de unión)

Ejemplo:

En este ejemplo, estamos utilizando la palabra clave de unión externa completa para unir ambos marcos de datos. Entonces, el resultado será de ambos marcos de datos.

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 23, 'Altura': 5.79, 'Peso': 67, 'Dirección': 'Guntur',
'Rollno': '002', 'Nombre': 'ojaswi', 'edad': 16, 'altura': 3.79, 'Peso': 34, 'Dirección': 'Hyd',
'Rollno': '003', 'Nombre': 'Gnanesh Chowdary', 'Age': 7, 'Altura': 2.79, 'Peso': 17, 'Dirección': 'Patna',
'rollno': '004', 'nombre': 'rohith', 'edad': 9, 'altura': 3.69, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'Nombre': 'Sridevi', 'Age': 37, 'Altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Crear datos de Student_Marks con 5 filas y 6 atributos
Students_marks = ['Rollno': '001', 'temas1': 78, 'temas2': 98,
'Rollno': '002', 'Sujeto1': 83, 'Sujeto2': 69,
'Rollno': '005', 'Sujeto1': 95, 'Sujeto2': 90,
'Rollno': '004', 'Sujeto1': 76, 'Sujeto2': 100,
'Rollno': '007', 'Sujeto1': 90, 'Sujeto2': 91]
# Crea el DataFrame
DF2 = Spark_App.CreatedataFrame (Students_Marks)
# Crear vista para DF con nombres como estudiante
df.CreateRePlaceTempView ("Estudiante")
# Crear vista para DF2 con nombres como marcas
DF2.createRePlaceTempView ("Marcas")
# Realizar una unión externa completa
Chispa - chispear.SQL ("Seleccionar * del estudiante Full Full Outer Under Marks en el estudiante.Rollno == Marcas.Rollno ").espectáculo()

Producción:

Conclusión

En este artículo, discutimos cuatro tipos de uniones SQL realizadas en Pyspark DataFrame. Hemos visto que la unión izquierda es similar a la unión externa izquierda; La unión derecha es similar a la unión exterior derecha; La unión completa es similar a la unión exterior completa. Esperamos que hayas encontrado este artículo útil. Echa un vistazo a otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.