En Python, PySpark es un módulo de Spark que se utiliza para proporcionar un tipo de procesamiento similar al de Spark con DataFrame. Podemos agregar filas/datos del segundo DataFrame al primer DataFrame usando dos métodos: union() y unionAll(). Ambos métodos son iguales. El método unionAll() está obsoleto en PySpark versión 2.0 y se reemplaza por el método union(). Antes de explorar estos métodos, creemos dos PySpark DataFrames.
Ejemplo 1:
En el siguiente ejemplo, creamos el PySpark DataFrame con 5 filas y 6 columnas y lo mostramos usando el método show():
Importar pyspark
#import SparkSession para crear una sesión
desde pyspark.sql importar SparkSession
#crear una aplicación llamada linuxhint
spark_app = SparkSession.builder.appName(‘linuxhint’).getOrCreate()
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes1 =[{‘rollno’:’001’,’name’:’sravan’,’age’:23,’height’:5.79,’weight’:67,’address’:’guntur’},
{‘rollno’:’002’,’name’:’ojaswi’,’age’:16,’height’:3.79,’weight’:34,’address’:’hyd’},
{‘rollno’:’003’,’name’:’gnanesh chowdary’,’age’:7,’height’:2.79,’weight’:17,’address’:’patna’},
{‘rollno’:’004’,’name’:’rohith’,’age’:9,’height’:3.69,’weight’:28,’address’:’hyd’},
{‘rollno’:’005’,’name’:’sridevi’,’age’:37,’height’:5.59,’weight’:54,’address’:’hyd’}]
# Crear el marco de datos
d.f. = chispa_app.createDataFrame( estudiantes1)
# Mostrar marco de datos
df.mostrar()
Producción:
Ejemplo 2:
En el siguiente ejemplo, creamos el PySpark DataFrame con 3 filas y 6 columnas y lo mostramos usando el método show():
Importar pyspark
#import SparkSession para crear una sesión
desde pyspark.sql importar SparkSession
#crear una aplicación llamada linuxhint
spark_app = SparkSession.builder.appName(‘linuxhint’).getOrCreate()
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes2 =[{‘rollno’:’056’,’name’:’vinay’,’age’:23,’height’:5.79,’weight’:67,’address’:’tamilnadu’},
{‘rollno’:’045’,’name’:’bhanu’,’age’:16,’height’:3.79,’weight’:34,’address’:’hyd’},
{‘rollno’:’032’,’name’:’jyothika chowdary’,’age’:7,’height’:2.79,’weight’:17,’address’:’delhi’}]
# Crear el marco de datos
df2 = chispa_aplicación.createDataFrame( estudiantes2)
# Mostrar segundo marco de datos
df2.mostrar()
Producción:
Tabla de Contenidos
PySpark – Función Unión()
La función union() agrega filas de uno o más DataFrames al primer DataFrame. Veremos cómo las filas del segundo DataFrame se agregan al primer DataFrame.
Sintaxis:
primer_marco_de_datos.union(segundo_marco_de_datos)
De donde:
- first_dataframe es el primer marco de datos de entrada.
- second_dataframe es el segundo marco de datos de entrada.
Ejemplo:
En este ejemplo, usamos la función union() para agregar el segundo DataFrame al primero
marco de datos. Finalmente, mostramos el DataFrame usando el método show():
Importar pyspark
#import SparkSession para crear una sesión
desde pyspark.sql importar SparkSession
#crear una aplicación llamada linuxhint
spark_app = SparkSession.builder.appName(‘linuxhint’).getOrCreate()
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes1 =[{‘rollno’:‘001’,‘name’:‘sravan’,‘age’:23,‘height’:5.79,‘weight’:67,‘address’:‘guntur’},
{‘rollno’:‘002’,‘name’:‘ojaswi’,‘age’:16,‘height’:3.79,‘weight’:34,‘address’:‘hyd’},
{‘rollno’:‘003’,‘name’:‘gnanesh chowdary’,‘age’:7,‘height’:2.79,‘weight’:17,‘address’:‘patna’},
{‘rollno’:‘004’,‘name’:‘rohith’,‘age’:9,‘height’:3.69,‘weight’:28,‘address’:‘hyd’},
{‘rollno’:‘005’,‘name’:‘sridevi’,‘age’:37,‘height’:5.59,‘weight’:54,‘address’:‘hyd’}]
# Crear el marco de datos
d.f. = chispa_app.createDataFrame( estudiantes1)
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes2 =[{‘rollno’:‘056’,‘name’:‘vinay’,‘age’:23,‘height’:5.79,‘weight’:67,‘address’:‘tamilnadu’},
{‘rollno’:‘045’,‘name’:‘bhanu’,‘age’:16,‘height’:3.79,‘weight’:34,‘address’:‘hyd’},
{‘rollno’:‘032’,‘name’:‘jyothika chowdary’,‘age’:7,‘height’:2.79,‘weight’:17,‘address’:‘delhi’}]
# Crear el marco de datos
df2 = chispa_aplicación.createDataFrame( estudiantes2)
# realizar unión()
df.union(df2).Show()
Producción:
PySpark – Función UnionAll()
La función unionAll() agrega filas de uno o más DataFrames al primer DataFrame. Veremos cómo las filas del segundo DataFrame se agregan al primer DataFrame.
Sintaxis:
primer_marco_de_datos.unionAll(segundo_marco_de_datos)
De donde:
- first_dataframe es el primer marco de datos de entrada.
- second_dataframe es el segundo marco de datos de entrada.
Ejemplo:
En este ejemplo, usamos la función unionAll() para agregar el segundo DataFrame al primer DataFrame. Finalmente, mostramos el DataFrame usando el método show().
Importar pyspark
#import SparkSession para crear una sesión
desde pyspark.sql importar SparkSession
#crear una aplicación llamada linuxhint
spark_app = SparkSession.builder.appName(‘linuxhint’).getOrCreate()
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes1 =[{‘rollno’:‘001’,‘name’:‘sravan’,‘age’:23,‘height’:5.79,‘weight’:67,‘address’:‘guntur’},
{‘rollno’:‘002’,‘name’:‘ojaswi’,‘age’:16,‘height’:3.79,‘weight’:34,‘address’:‘hyd’},
{‘rollno’:‘003’,‘name’:‘gnanesh chowdary’,‘age’:7,‘height’:2.79,‘weight’:17,‘address’:‘patna’},
{‘rollno’:‘004’,‘name’:‘rohith’,‘age’:9,‘height’:3.69,‘weight’:28,‘address’:‘hyd’},
{‘rollno’:‘005’,‘name’:‘sridevi’,‘age’:37,‘height’:5.59,‘weight’:54,‘address’:‘hyd’}]
# Crear el marco de datos
d.f. = chispa_app.createDataFrame( estudiantes1)
# Crear datos de estudiantes con 5 filas y 6 atributos
estudiantes2 =[{‘rollno’:‘056’,‘name’:‘vinay’,‘age’:23,‘height’:5.79,‘weight’:67,‘address’:‘tamilnadu’},
{‘rollno’:‘045’,‘name’:‘bhanu’,‘age’:16,‘height’:3.79,‘weight’:34,‘address’:‘hyd’},
{‘rollno’:‘032’,‘name’:‘jyothika chowdary’,‘age’:7,‘height’:2.79,‘weight’:17,‘address’:‘delhi’}]
# Crear el marco de datos
df2 = chispa_aplicación.createDataFrame( estudiantes2)
# ejecutar unionAll()
df.unionAll(df2).Show()
Producción:
Conclusión
En este artículo, podemos adjuntar dos o más DataFrames usando los métodos union() y unionAll(). La funcionalidad de ambos métodos es la misma y se explica con ejemplos. Esperamos que este artículo le haya resultado útil. Consulte otros artículos de Linux Hint para obtener más consejos y tutoriales.