Pyspark - Ordena

Pyspark - Ordena

En Python, Pyspark es un módulo Spark utilizado para proporcionar un tipo similar de procesamiento como Spark usando DataFrame. En Pyspark, Sort () se usa para organizar las filas en orden de clasificación o ascendente en el marco de datos. Devolverá el nuevo marco de datos organizando las filas en el marco de datos existente. Creemos un Pyspark DataFrame.

Ejemplo:

En este ejemplo, vamos a crear el marco de datos de Pyspark con 5 filas y 6 columnas y mostrar usando el método show ().

#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
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 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 (estudiantes)
#Data DataFrame
df.espectáculo()

Producción:

Método - 1: usando Sort ()

Aquí, estamos utilizando la función sort (), para ordenar el marco de datos de Pyspark en función de las columnas. Tomará una o más columnas.

Sintaxis:

marco de datos.sort ("column_name", ..., "column_name")

Aquí,

  1. DataFrame es la entrada Pyspark DataFrame.
  2. column_name es la columna donde se aplica la clasificación.

Ejemplo:

En este ejemplo, vamos a clasificar el marcado de datos en función de las columnas de dirección y edad con la función sort () y mostrar el marco de datos ordenado utilizando el método recopilar ().

#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
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 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 (estudiantes)
# Ordenar el marco de datos en función de la dirección y las columnas de edad
# y muestre el marco de datos ordenado
df.sort ("dirección", "edad").recolectar()

Producción:

[Fila (dirección = 'Guntur', edad = 23, altura = 5.79, nombre = 'sravan', rollno = '001', peso = 67),
Fila (dirección = 'hyd', edad = 9, altura = 3.69, nombre = 'rohith', rollno = '004', peso = 28),
Fila (dirección = 'hyd', edad = 16, altura = 3.79, nombre = 'ojaswi', rollno = '002', peso = 34),
Fila (dirección = 'hyd', edad = 37, altura = 5.59, name = 'sridevi', rollno = '005', peso = 54),
Fila (dirección = 'patna', edad = 7, altura = 2.79, nombre = 'Gnanesh Chowdary', rollNo = '003', peso = 17)]

Método - 2: usando la función sort () con col

Aquí, estamos utilizando la función sort (), para ordenar el marco de datos de Pyspark en función de las columnas. Tenemos que especificar los nombres de la columna/s dentro de la función sort () a través de la función col. Tenemos que importar esta función desde Pyspark.sql.módulo de funciones. Esto se usa para leer una columna del marco de datos de Pyspark.

Sintaxis:

marco de datos.sort (col ("column_name"), ..., col ("column_name"))

Aquí,

  1. DataFrame es la entrada Pyspark DataFrame.
  2. column_name es la columna donde se aplica la clasificación a través de la función COL.

Ejemplo:

En este ejemplo, vamos a clasificar el marcado de datos en función de las columnas de dirección y edad con la función sort () y mostrar el marco de datos ordenado utilizando el método recopilar ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa la función col
de Pyspark.sql.Funciones Importar Col
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos de estudiante con 5 filas y 6 atributos
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 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 (estudiantes)
# Ordenar el marco de datos en función de la dirección y las columnas de edad
# y muestre el marco de datos ordenado
df.Sort (col ("dirección"), col ("edad")).recolectar()

Producción:

[Fila (dirección = 'Guntur', edad = 23, altura = 5.79, nombre = 'sravan', rollno = '001', peso = 67),
Fila (dirección = 'hyd', edad = 9, altura = 3.69, nombre = 'rohith', rollno = '004', peso = 28),
Fila (dirección = 'hyd', edad = 16, altura = 3.79, nombre = 'ojaswi', rollno = '002', peso = 34),
Fila (dirección = 'hyd', edad = 37, altura = 5.59, name = 'sridevi', rollno = '005', peso = 54),
Fila (dirección = 'patna', edad = 7, altura = 2.79, nombre = 'Gnanesh Chowdary', rollNo = '003', peso = 17)]

Método - 3: Uso de Sort () con DataFrame Label

Aquí, estamos utilizando la función Sort () para ordenar el PySpark DataFrame en función de las columnas. Tenemos que especificar los nombres/etiquetas de la columna dentro de la función sort () a través del nombre/etiqueta de la columna DataFrame.

Sintaxis:

marco de datos.Sort (DataFrame.column_name, ..., DataFrame.column_name)

Aquí,

  1. DataFrame es la entrada Pyspark DataFrame.
  2. column_name es la columna donde se aplica la clasificación.

Ejemplo:

En este ejemplo, vamos a clasificar el marcado de datos en función de las columnas de dirección y edad con la función sort () y mostrar el marco de datos ordenado utilizando el método recopilar ().

#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
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 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 (estudiantes)
# Ordenar el marco de datos en función de la dirección y las columnas de edad
# y muestre el marco de datos ordenado
df.ordenar (df.Dirección, DF.edad).recolectar()

Producción:

[Fila (dirección = 'Guntur', edad = 23, altura = 5.79, nombre = 'sravan', rollno = '001', peso = 67),
Fila (dirección = 'hyd', edad = 9, altura = 3.69, nombre = 'rohith', rollno = '004', peso = 28),
Fila (dirección = 'hyd', edad = 16, altura = 3.79, nombre = 'ojaswi', rollno = '002', peso = 34),
Fila (dirección = 'hyd', edad = 37, altura = 5.59, name = 'sridevi', rollno = '005', peso = 54),
Fila (dirección = 'patna', edad = 7, altura = 2.79, nombre = 'Gnanesh Chowdary', rollNo = '003', peso = 17)]

Método - 4: Uso de Sort () con DataFrame Index

Aquí, estamos utilizando la función sort (), para ordenar el marco de datos de Pyspark en función de las columnas. Tenemos que especificar el índice/índices de columna dentro de la función sort () a través del índice/posición de la columna DataFrame. En DataFrame, la indexación comienza con '0'.

Sintaxis:

marco de datos.sort (dataFrame [column_index], ..., dataFrame [column_index])

Aquí,

  1. DataFrame es la entrada Pyspark DataFrame.
  2. column_index es la posición de la columna donde se aplica la clasificación.

Ejemplo:

En este ejemplo, vamos a clasificar el marcado de datos en función de las columnas de dirección y edad con la función sort () y mostrar el marco de datos ordenado utilizando el método recopilar ().

#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
estudiantes = ['Rollno': '001', 'Nombre': 'Sravan', 'Age': 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 (estudiantes)
# Ordenar el marco de datos en función de la dirección y las columnas de edad
# y muestre el marco de datos ordenado
df.Sort (DF [0], DF [1]).recolectar()

Producción:

[Fila (dirección = 'Guntur', edad = 23, altura = 5.79, nombre = 'sravan', rollno = '001', peso = 67),
Fila (dirección = 'hyd', edad = 9, altura = 3.69, nombre = 'rohith', rollno = '004', peso = 28),
Fila (dirección = 'hyd', edad = 16, altura = 3.79, nombre = 'ojaswi', rollno = '002', peso = 34),
Fila (dirección = 'hyd', edad = 37, altura = 5.59, name = 'sridevi', rollno = '005', peso = 54),
Fila (dirección = 'patna', edad = 7, altura = 2.79, nombre = 'Gnanesh Chowdary', rollNo = '003', peso = 17)]

Conclusión

En este artículo, discutimos cómo usar una función sort () utilizando cuatro escenarios en el marco de datos de Pyspark en Python. Finalmente, llegamos a un punto en el que podemos ordenar los datos en el marco de datos de Pyspark en función de las columnas presentes en el marco de datos.