Pyspark - Orderby

Pyspark - Orderby

No Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark usando o DataFrame. Em Pyspark, Orderby () é usado para organizar as linhas na ordem de classificação/ascensão no quadro de dados.

Ele retornará o novo DataFrame organizando as linhas no DataFrame existente.

Vamos criar um pyspark DataFrame.

Exemplo:

Neste exemplo, criaremos o pyspark DataFrame com 5 linhas e 6 colunas e exibir o método show ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17,
'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
#display dataframe
df.mostrar()

Saída:

Método - 1: Usando Orderby ()

Aqui, estamos usando a função Orderby () para classificar o quadro de dados Pyspark com base nas colunas. Vai levar uma ou mais colunas.

Sintaxe:

quadro de dados.orderby ("column_name",…, "column_name")

Aqui,

  1. DataFrame é a entrada Pyspark DataFrame.
  2. Column_name é a coluna em que a classificação é aplicada.

Exemplo:

Neste exemplo, classificaremos o quadro de dados com base nas colunas de endereço e idade com a função orderby () e exibir o quadro de dados classificado usando o método collect ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17,
'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Classifique o quadro de dados com base em colunas de endereço e idade
# e exiba o quadro de dados classificado
df.ordem ("endereço", "idade").colecionar ()

Saída:

[Linha (endereço = 'guntur', idade = 23, altura = 5.79, nome = 'sravan', rollno = '001', peso = 67),
Linha (endereço = 'hyd', idade = 9, altura = 3.69, nome = 'rohith', rollno = '004', peso = 28),
Linha (endereço = 'hyd', idade = 16, altura = 3.79, nome = 'ojaswi', rollno = '002', peso = 34),
Linha (endereço = 'hyd', idade = 37, altura = 5.59, nome = 'sridevi', rollno = '005', peso = 54),
Linha (endereço = 'patna', idade = 7, altura = 2.79, nome = 'Gnanesh Chowdary', rollno = '003', peso = 17)]

Método - 2: Usando Orderby () com função Col

Aqui, estamos usando a função Orderby () para classificar o quadro de dados Pyspark com base nas colunas. Temos que especificar os nomes de colunas dentro da função Orderby () através da função Col. Temos que importar essa função do Pyspark.SQL.Módulo de funções. Isso é usado para ler uma coluna do Pyspark DataFrame.

Sintaxe:

quadro de dados.Orderby (col ("column_name"),…, col ("column_name"))))

Aqui,

  1. DataFrame é a entrada Pyspark DataFrame.
  2. Column_name é a coluna em que a classificação é aplicada através da função Col.

Exemplo:

Neste exemplo, classificaremos o quadro de dados com base nas colunas de endereço e idade com a função orderby () e exibir o quadro de dados classificado usando o método collect ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#import a função col
de Pyspark.SQL.funções Importar col
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17,
'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Classifique o quadro de dados com base em colunas de endereço e idade
# e exiba o quadro de dados classificado
df.ordem (col ("endereço"), col ("idade"))).colecionar ()

Saída:

[Linha (endereço = 'guntur', idade = 23, altura = 5.79, nome = 'sravan', rollno = '001', peso = 67),
Linha (endereço = 'hyd', idade = 9, altura = 3.69, nome = 'rohith', rollno = '004', peso = 28),
Linha (endereço = 'hyd', idade = 16, altura = 3.79, nome = 'ojaswi', rollno = '002', peso = 34),
Linha (endereço = 'hyd', idade = 37, altura = 5.59, nome = 'sridevi', rollno = '005', peso = 54),
Linha (endereço = 'patna', idade = 7, altura = 2.79, nome = 'Gnanesh Chowdary', rollno = '003', peso = 17)]

Método - 3: Usando Orderby () com o rótulo DataFrame

Aqui, estamos usando a função Orderby () para classificar o quadro de dados Pyspark com base nas colunas. Temos que especificar os nomes/etiquetas da coluna dentro da função Orderby () através do nome/rótulo da coluna DataFrame.

Sintaxe:

quadro de dados.orderby (dataframe.Column_name,…, DataFrame.nome da coluna)

Aqui,

  1. DataFrame é a entrada Pyspark DataFrame.
  2. Column_name é a coluna em que a classificação é aplicada.

Exemplo:

Neste exemplo, classificaremos o quadro de dados com base nas colunas de endereço e idade com a função orderby () e exibir o quadro de dados classificado usando o método collect ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17,
'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Classifique o quadro de dados com base em colunas de endereço e idade
# e exiba o quadro de dados classificado
df.ordem (df.endereço, df.idade).colecionar ()

Saída:

[Linha (endereço = 'guntur', idade = 23, altura = 5.79, nome = 'sravan', rollno = '001', peso = 67),
Linha (endereço = 'hyd', idade = 9, altura = 3.69, nome = 'rohith', rollno = '004', peso = 28),
Linha (endereço = 'hyd', idade = 16, altura = 3.79, nome = 'ojaswi', rollno = '002', peso = 34),
Linha (endereço = 'hyd', idade = 37, altura = 5.59, nome = 'sridevi', rollno = '005', peso = 54),
Linha (endereço = 'patna', idade = 7, altura = 2.79, nome = 'Gnanesh Chowdary', rollno = '003', peso = 17)]

Método - 4: Usando Orderby () com o Índice de Dataframe

Aqui, estamos usando a função Orderby () para classificar o quadro de dados Pyspark com base nas colunas. Temos que especificar o índice/índices da coluna dentro da função Orderby () através do índice/posição da coluna DataFrame. No DataFrame, a indexação começa com '0'.

Sintaxe:

quadro de dados.orderby (dataframe [column_index],…, dataframe [column_index]))

Aqui,

  1. DataFrame é a entrada Pyspark DataFrame.
  2. Column_index é a posição da coluna em que a classificação é aplicada.

Exemplo:

Neste exemplo, classificaremos o quadro de dados com base nas colunas de endereço e idade com a função orderby () e exibir o quadro de dados classificado usando o método collect ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23, 'altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16, 'altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7, 'altura': 2.79, 'Peso': 17,
'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9, 'altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37, 'altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Classifique o quadro de dados com base em colunas de endereço e idade
# e exiba o quadro de dados classificado
df.ordem (df [0], df [1]).colecionar ()

Saída:

[Linha (endereço = 'guntur', idade = 23, altura = 5.79, nome = 'sravan', rollno = '001', peso = 67),
Linha (endereço = 'hyd', idade = 9, altura = 3.69, nome = 'rohith', rollno = '004', peso = 28),
Linha (endereço = 'hyd', idade = 16, altura = 3.79, nome = 'ojaswi', rollno = '002', peso = 34),
Linha (endereço = 'hyd', idade = 37, altura = 5.59, nome = 'sridevi', rollno = '005', peso = 54),
Linha (endereço = 'patna', idade = 7, altura = 2.79, nome = 'Gnanesh Chowdary', rollno = '003', peso = 17)]

Conclusão

Neste artigo, discutimos como usar a função Orderby () usando quatro cenários no Pyspark Dataframe no Python. Finalmente, chegamos a um ponto em que podemos classificar os dados no quadro de dados Pyspark com base nas colunas presentes no DataFrame.