En este artículo, veremos cómo ordenar varias columnas en PySpark DataFrames a través de Python.
Cree el marco de datos para la demostración:
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:
orderby significa que vamos a ordenar el marco de datos por varias columnas en orden ascendente o descendente. podemos hacer esto usando los siguientes métodos.
Método 1: Usando orderBy()
Esta función devolverá el marco de datos después de ordenar las múltiples columnas. Se ordenará primero según el nombre de columna dado.
Sintaxis :
- Orden ascendente: dataframe.orderBy([‘columna1′,’columna2′,……,’columna n’], ascendente=Verdadero).show()
- Orden descendente: dataframe.orderBy([‘columna1′,’columna2′,……,’columna n’], ascendente=Falso).show()
dónde:
- dataframe es el marco de datos de entrada de Pyspark
- ascending=True especifica ordenar el marco de datos en orden ascendente
- ascending=False especifica ordenar el marco de datos en orden descendente
Ejemplo 1 : ordene el marco de datos de PySpark en orden ascendente con orderBy().
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) # orderBy dataframe in asc order dataframe.orderBy(['Name', 'ID', 'Company'], ascending=True).show()
Producción:
Ejemplo 2: ordene el marco de datos de PySpark en orden descendente con orderBy().
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) # orderBy dataframe in desc order dataframe.orderBy(['Name', 'ID', 'Company'], ascending=False).show()
Producción:
Método 2: Usar sort()
Esta función devolverá el marco de datos después de ordenar las múltiples columnas. Se ordenará primero según el nombre de columna dado.
Sintaxis :
- Orden ascendente: dataframe.sort([‘columna1′,’columna2′,……,’columna n’], ascendente=Verdadero).mostrar()
- Orden descendente: dataframe.sort([‘columna1′,’columna2′,……,’columna n’], ascendente=Falso).mostrar()
dónde,
- dataframe es el marco de datos de entrada de Pyspark
- ascending=True especifica ordenar el marco de datos en orden ascendente
- ascending=False especifica ordenar el marco de datos en orden descendente
Ejemplo 1: ordenar el marco de datos de PySpark en orden ascendente
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) # orderBy dataframe in asc order dataframe.sort(['Name', 'ID', 'Company'], ascending=True).show()
Producción:
Ejemplo 2: ordenar el marco de datos de PySpark en orden descendente
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) # orderBy dataframe in desc order dataframe.sort(['Name', 'ID', 'Company'], ascending=False).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