En este artículo, veremos cómo realizar Full Outer Join en PySpark DataFrames en Python.
Cree 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", "company 1"], ["2", "ojaswi", "company 1"], ["3", "rohith", "company 2"], ["4", "sridevi", "company 1"], ["5", "bobby", "company 1"]] # specify column names columns = ['ID', 'NAME', 'Company'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) dataframe.show()
Producción:
Crear 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 data1 = [["1", "45000", "IT"], ["2", "145000", "Manager"], ["6", "45000", "HR"], ["5", "34000", "Sales"]] # specify column names columns = ['ID', 'salary', 'department'] # creating a dataframe from the lists of data dataframe1 = spark.createDataFrame(data1, columns) dataframe1.show()
Producción:
Método 1: usar la palabra clave completa
Esto se usa para unir los dos marcos de datos de PySpark con todas las filas y columnas usando la palabra clave completa
Sintaxis : dataframe1.join(dataframe2,dataframe1.column_name == dataframe2.column_name,”full”).show()
dónde
- dataframe1 es el primer marco de datos de PySpark
- dataframe2 es el segundo marco de datos de PySpark
- column_name es la columna con respecto al marco de datos
Ejemplo: programa de Python para unir dos marcos de datos basados en la columna ID.
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", "company 1"], ["2", "ojaswi", "company 1"], ["3", "rohith", "company 2"], ["4", "sridevi", "company 1"], ["5", "bobby", "company 1"]] # specify column names columns = ['ID', 'NAME', 'Company'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) # list of employee data data1 = [["1", "45000", "IT"], ["2", "145000", "Manager"], ["6", "45000", "HR"], ["5", "34000", "Sales"]] # specify column names columns = ['ID', 'salary', 'department'] # creating a dataframe from the lists of data dataframe1 = spark.createDataFrame(data1, columns) # join two dataframes based on # ID column using full keyword dataframe.join(dataframe1, dataframe.ID == dataframe1.ID, "full").show()
Producción:
Método 2: usar la palabra clave fullouter
Esto se usa para unir los dos marcos de datos PySpark con todas las filas y columnas usando la palabra clave fullouter
Sintaxis : dataframe1.join(dataframe2,dataframe1.column_name == dataframe2.column_name,”fullouter”).show()
dónde
- dataframe1 es el primer marco de datos de PySpark
- dataframe2 es el segundo marco de datos de PySpark
- column_name es la columna con respecto al marco de datos
Ejemplo : programa de Python para unir dos marcos de datos basados en la columna ID.
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", "company 1"], ["2", "ojaswi", "company 1"], ["3", "rohith", "company 2"], ["4", "sridevi", "company 1"], ["5", "bobby", "company 1"]] # specify column names columns = ['ID', 'NAME', 'Company'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) # list of employee data data1 = [["1", "45000", "IT"], ["2", "145000", "Manager"], ["6", "45000", "HR"], ["5", "34000", "Sales"]] # specify column names columns = ['ID', 'salary', 'department'] # creating a dataframe from the lists of data dataframe1 = spark.createDataFrame(data1, columns) # join two dataframes based on ID # column using full outer keyword dataframe.join(dataframe1, dataframe.ID == dataframe1.ID, "fullouter").show()
Producción:
Método 3: usar una palabra clave externa
Esto se usa para unir los dos marcos de datos de PySpark con todas las filas y columnas usando la palabra clave externa.
Sintaxis : dataframe1.join(dataframe2,dataframe1.column_name == dataframe2.column_name,”outer”).show()
dónde,
- dataframe1 es el primer marco de datos de PySpark
- dataframe2 es el segundo marco de datos de PySpark
- column_name es la columna con respecto al 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", "company 1"], ["2", "ojaswi", "company 1"], ["3", "rohith", "company 2"], ["4", "sridevi", "company 1"], ["5", "bobby", "company 1"]] # specify column names columns = ['ID', 'NAME', 'Company'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) # list of employee data data1 = [["1", "45000", "IT"], ["2", "145000", "Manager"], ["6", "45000", "HR"], ["5", "34000", "Sales"]] # specify column names columns = ['ID', 'salary', 'department'] # creating a dataframe from the lists of data dataframe1 = spark.createDataFrame(data1, columns) # join two dataframes based on # ID column using outer keyword dataframe.join(dataframe1, dataframe.ID == dataframe1.ID, "outer").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