Pyspark menos función

Pyspark menos función
En Pyspark DataFrame, es posible devolver los elementos menos en dos o más columnas.

Pyspark admite la función MENSE (), que se utiliza para encontrar los menos valores en múltiples columnas en todas las filas en un Pyspark RDD o un Pyspark DataFrame.

Está disponible en el pyspark.sql.funciones módulo.

Sintaxis
dataframe_obj.seleccionar (menos (dataFrame_obj.columna1, dataframe_obj.columna2,…))

Parámetro:
Toma columnas como parámetros.

Podemos acceder a las columnas usando el '.'Operador (columna1, columna2, representa los nombres de la columna).

Datos
Aquí, crearemos un marcador de datos Pyspark que tenga 5 columnas: ['Tema_id', 'Nombre', 'Age', 'Technology1', 'Technology2'] con 10 filas.

Importar pyspark
de Pyspark.SQL Import Sparksession
Spark_app = Sparksession.constructor.nombre de la aplicación('_').getorcreate ()
Estudiantes = [(4, 'Sravan', 23, 'Php', 'Pruebas'),
(4, 'Sravan', 23, 'Php', 'Pruebas'),
(46, 'Mounika', 22, '.Net ',' html '),
(4, 'Deepika', 21, 'Oracle', 'html'),
(46, 'Mounika', 22, 'Oracle', 'Prueba'),
(12, 'Chandrika', 22, 'Hadoop', 'C#'),
(12, 'Chandrika', 22, 'Oracle', 'Prueba'),
(4, 'Sravan', 23, 'Oracle', 'C#'),
(4, 'Deepika', 21, 'Php', 'C#'),
(46, 'Mounika', 22, '.Net ',' prueba ')
]
dataFrame_OBJ = Spark_App.creatataFrame (estudiantes, ['temas_id', 'nombre', 'edad', 'tecnología1', 'tecnología2'])
imprimir ("---------- DataFrame ----------")
dataframe_obj.espectáculo()

Producción:

Ahora, veremos los ejemplos para devolver los menos valores en dos o múltiples columnas de DataFrame anteriores.

Ejemplo 1
Entonces, creamos el DataFrame anterior. Ahora, devolveremos los menos valores de asunto_id y edad columnas.

# Importar la menor función del módulo - Pyspark.sql.funciones
de Pyspark.sql.Funciones Importar menos
#Compare Las columnas - Asunto y edad y devuelva los valores más bajos en cada fila.
dataframe_obj.SELECT (dataFrame_obj.temas_id, dataframe_obj.edad, menos (dataFrame_obj.temas_id, dataframe_obj.edad)).espectáculo()

Producción:

Explicación
Puede comparar los dos valores de la columna en cada fila.

menos (4,23) - 4
menos (4,23) - 4
menos (46,22) -22
menos (4,21) - 4
menos (46,22) - 22
menos (12,22) - 12
menos (12,22) - 12
menos (4,23) - 4
menos (4,21) - 4
menos (46,22) - 22.

Ejemplo 2
Creamos el DataFrame anterior. Ahora, devolveremos los menos valores de Nombre, Tecnología1, y Tecnología2 columnas.

# Importar la menor función del módulo - Pyspark.sql.funciones
de Pyspark.sql.Funciones Importar menos
#Compare las columnas: nombre, tecnología1, tecnología2 ​​y edad y devuelve los valores más bajos en cada fila.
dataframe_obj.SELECT (dataFrame_obj.Nombre, DataFrame_obj.tecnología1, dataframe_obj.Tecnología2,
mínimo (dataFrame_obj.Nombre, DataFrame_obj.tecnología1, dataframe_obj.tecnología2)).espectáculo()

Producción:

Aquí, las cadenas se comparan en función de los valores ASCII:

Mínimo (Sravan, PHP, Pruebas) - PHP
Mínimo (Sravan, PHP, Pruebas) - PHP
menos (Mounika, .Net, html) - .NETO
menos (Deepika, Oracle, HTML) - HTML
menos (Mounika, Oracle, Pruebas) - Oracle
menos (Chandrika, Hadoop, C#) - C#
menos (Chandrika, Oracle, Pruebas) - Oracle
Mínimo (Sravan, Oracle, C#) - C#
menos (Deepika, PHP, C#) - C#
menos (Mounika,.Neto, prueba) -.NETO.

Código completo

importar pyspark
de Pyspark.SQL Import Sparksession
Spark_app = Sparksession.constructor.nombre de la aplicación('_').getorcreate ()
Estudiantes = [(4, 'Sravan', 23, 'Php', 'Pruebas'),
(4, 'Sravan', 23, 'Php', 'Pruebas'),
(46, 'Mounika', 22, '.Net ',' html '),
(4, 'Deepika', 21, 'Oracle', 'html'),
(46, 'Mounika', 22, 'Oracle', 'Prueba'),
(12, 'Chandrika', 22, 'Hadoop', 'C#'),
(12, 'Chandrika', 22, 'Oracle', 'Prueba'),
(4, 'Sravan', 23, 'Oracle', 'C#'),
(4, 'Deepika', 21, 'Php', 'C#'),
(46, 'Mounika', 22, '.Net ',' prueba ')
]
dataFrame_OBJ = Spark_App.creatataFrame (estudiantes, ['temas_id', 'nombre', 'edad', 'tecnología1', 'tecnología2'])
imprimir ("---------- DataFrame ----------")
dataframe_obj.espectáculo()
# Importar la menor función del módulo - Pyspark.sql.funciones
de Pyspark.sql.Funciones Importar menos
#Compare Las columnas - Asunto y edad y devuelva los valores más bajos en cada fila.
dataframe_obj.SELECT (dataFrame_obj.temas_id, dataframe_obj.edad, menos (dataFrame_obj.temas_id, dataframe_obj.edad)).espectáculo()
#Compare las columnas: nombre, tecnología1, tecnología2 ​​y edad y devuelve los valores más bajos en cada fila.
dataframe_obj.SELECT (dataFrame_obj.Nombre, DataFrame_obj.tecnología1, dataframe_obj.Tecnología2,
mínimo (dataFrame_obj.Nombre, DataFrame_obj.tecnología1, dataframe_obj.tecnología2)).espectáculo()

Conclusión

La función mínima () se usa para encontrar los valores más bajos en múltiples columnas en todas las filas en un PySpark RDD o un PySpark DataFrame. Compara las columnas con tipos de datos similares. De lo contrario, aumentará la excepción de análisis. Todas las expresiones deberían tener el mismo tipo.