Pyspark - Collect_List y Collect_set

Pyspark - Collect_List y Collect_set
En Python, Pyspark es un módulo Spark utilizado para proporcionar un tipo similar de procesamiento como Spark usando DataFrame.

Discutiremos las funciones Collect_List () y Collect_Set () en Pyspark DataFrame.

Antes de pasar a estas funciones, crearemos Pyspark DataFrame

Ejemplo:

Aquí vamos a crear Pyspark DataFrame con 5 filas y 6 columnas.

#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
Students1 = ['rollno': '001', 'nombre': 'sravan', 'edad': 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': 2.79, 'Peso': 28, 'Dirección': 'Hyd',
'Rollno': '005', 'nombre': 'sridevi', 'edad': 9, 'altura': 5.59, 'Peso': 54, 'Dirección': 'Hyd']
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes1)
# Muestra DataFrame
df.espectáculo()

Producción:

Pyspark - Collect_List ()

El método Collect_List () se utiliza para obtener los datos de las columnas de DataFrame de Pyspark y devolver los valores en formato de fila. Devolverá todos los valores junto con duplicados. Pero necesitamos importar este método desde Pyspark.sql.módulo de funciones.

Podemos usar este método para mostrar los datos recopilados en forma de una fila.

Sintaxis:

marco de datos.Seleccionar ("Collect_List (" columna "))

dónde:

  1. DataFrame es la entrada Pyspark DataFrame
  2. La columna es el nombre de la columna donde se aplica Collect_List ()

Ejemplo 1:

En este ejemplo, estamos recopilando datos de la columna de dirección y mostramos los valores con el método recopilar ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#import Collect_list Función
de Pyspark.sql.Funciones Importar Collect_list
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
Students1 = ['rollno': '001', 'nombre': 'sravan', 'edad': 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 (estudiantes1)
# Collect_list en la dirección
df.SELECT (Collect_List ("Dirección")).recolectar()

Producción:

[Fila (coleccionar_list (dirección) = ['Guntur', 'hyd', 'patna', 'hyd', 'hyd'])]

Ejemplo 2:

En este ejemplo, estamos recopilando datos de columnas de altura y peso y mostramos los valores con el método Collect ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#import Collect_list Función
de Pyspark.sql.Funciones Importar Collect_list
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
Students1 = ['rollno': '001', 'nombre': 'sravan', 'edad': 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 (estudiantes1)
# Collect_list en columnas de altura y peso
df.SELECT (Collect_List ("Altura"), Collect_List ("Peso")).recolectar()

Producción:

[Row (Collect_List (altura) = [5.79, 3.79, 2.79, 3.69, 5.59], Collect_list (peso) = [67, 34, 17, 28, 54])]

Pyspark - Collect_set ()

El método Collect_Set () se utiliza para obtener los datos de las columnas de DataFrame de Pyspark y devolver los valores en formato de fila. Devolverá todos los valores sin duplicados.

Podemos usar este método para mostrar los datos recopilados en forma de una fila. Pero necesitamos importar este método desde Pyspark.sql.módulo de funciones.

Sintaxis:

marco de datos.Seleccionar ("Collect_set (" columna "))

dónde:

  1. DataFrame es la entrada Pyspark DataFrame
  2. La columna es el nombre de la columna donde se aplica Collect_List ()

Ejemplo 1:

En este ejemplo, estamos recopilando datos de la columna de dirección y mostramos los valores con el método recopilar ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#import Collect_set Función
de Pyspark.sql.Funciones Importar Collect_set
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
Students1 = ['rollno': '001', 'nombre': 'sravan', 'edad': 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 (estudiantes1)
# coleccionar_set en la dirección
df.SELECT (COLECT_SET ("Dirección")).recolectar()

Producción:

[Fila (coleccionable (direcciones) = ['Hyd', 'Guntur', 'Patna'])]

Ejemplo 2:

En este ejemplo, estamos recopilando datos de columnas de altura y peso y mostramos los valores con el método Collect ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#import Collect_set Función
de Pyspark.sql.Funciones Importar Collect_set
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
Students1 = ['rollno': '001', 'nombre': 'sravan', 'edad': 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 (estudiantes1)
# coleccionar en columnas de altura y peso
df.SELECT (COLECT_SET ("Altura"), Collect_List ("Peso")).recolectar()

Producción:

[Row (Collect_Set (High) = [5.59, 3.69, 2.79, 5.79, 3.79], Collect_list (peso) = [67, 34, 17, 28, 54])]

Conclusión

Hemos visto que los métodos recolect_list () y recolect_set () se utilizan para obtener los datos de una columna en Pyspark DataFrame. De estos métodos, observamos que Collect_Set () no permitirá duplicados sino coleccionar_list () permitir valores duplicados.