En este artículo, discutiremos cómo unir múltiples columnas en PySpark Dataframe usando Python.
Vamos a crear el primer marco de datos:
Python3
# importing module import pyspark # importing sparksession from pyspark.sql module from pyspark.sql import SparkSession # creating sparksession and giving an app name spark = SparkSession.builder.appName('sparkdf').getOrCreate() # list of employee data data = [(1, "sravan"), (2, "ojsawi"), (3, "bobby")] # specify column names columns = ['ID1', 'NAME1'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) dataframe.show()
Producción:
Vamos a crear el segundo marco de datos:
Python3
# importing module import pyspark # importing sparksession from pyspark.sql module from pyspark.sql import SparkSession # creating sparksession and giving an app name spark = SparkSession.builder.appName('sparkdf').getOrCreate() # list of employee data data = [(1, "sravan"), (2, "ojsawi"), (3, "bobby"), (4, "rohith"), (5, "gnanesh")] # specify column names columns = ['ID2', 'NAME2'] # creating a dataframe from the lists of data dataframe1 = spark.createDataFrame(data, columns) dataframe1.show()
Producción:
podemos unir las múltiples columnas usando la función join() usando el operador condicional
Sintaxis : dataframe.join(dataframe1, (dataframe.column1== dataframe1.column1) & (dataframe.column2== dataframe1.column2))
dónde,
- dataframe es el primer dataframe
- dataframe1 es el segundo marco de datos
- column1 es la primera columna coincidente en ambos marcos de datos
- column2 es la segunda columna coincidente en ambos marcos de datos
Ejemplo 1: código PySpark para unir los dos marcos de datos con varias columnas (id y nombre)
Python3
# importing module import pyspark # importing sparksession from pyspark.sql module from pyspark.sql import SparkSession # creating sparksession and giving an app name spark = SparkSession.builder.appName('sparkdf').getOrCreate() # list of employee data data = [(1, "sravan"), (2, "ojsawi"), (3, "bobby")] # specify column names columns = ['ID1', 'NAME1'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) # list of employee data data = [(1, "sravan"), (2, "ojsawi"), (3, "bobby"), (4, "rohith"), (5, "gnanesh")] # specify column names columns = ['ID2', 'NAME2'] # creating a dataframe from the lists of data dataframe1 = spark.createDataFrame(data, columns) # join based on ID and name column dataframe.join(dataframe1, (dataframe.ID1 == dataframe1.ID2) & (dataframe.NAME1 == dataframe1.NAME2)).show()
Producción:
Ejemplo 2: Unirse con u operador
Python3
# importing module import pyspark # importing sparksession from pyspark.sql module from pyspark.sql import SparkSession # creating sparksession and giving an app name spark = SparkSession.builder.appName('sparkdf').getOrCreate() # list of employee data data = [(1, "sravan"), (2, "ojsawi"), (3, "bobby")] # specify column names columns = ['ID1', 'NAME1'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) # list of employee data data = [(1, "sravan"), (2, "ojsawi"), (3, "bobby"), (4, "rohith"), (5, "gnanesh")] # specify column names columns = ['ID2', 'NAME2'] # creating a dataframe from the lists of data dataframe1 = spark.createDataFrame(data, columns) # join based on ID and name column dataframe.join(dataframe1, (dataframe.ID1 == dataframe1.ID2) | (dataframe.NAME1 == dataframe1.NAME2)).show()
Producción:
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA