A vantagem da partição é alcançar a consistência e o agrupamento dos dados. Depois de realizar a partição, podemos fornecer os números para a linha em cada partição usando o row_number () função.
É possível particionar as linhas em um quadro de dados com base nos valores em uma coluna específica. Todos os valores semelhantes são definidos para cada partição. Suponha que existem 3 tipos de valores semelhantes, então cada tipo é uma partição. Então, haverá três partições.
Função da janela row_number ()
O Row_Number no Pyspark é uma função de janela que é usada para definir os números que começam de 1 em cada janela particionada.
O principal é que o Row_Number () não está disponível diretamente. Temos que importá -lo do Pyspark.SQL.funções módulo.
Sintaxe para importar módulo:
de Pyspark.SQL.Funções Importar row_numberCaso contrário, também podemos fazer assim para importar todos os métodos deste módulo.
de Pyspark.SQL.Funções Importar *Temos que seguir as etapas a seguir para executar a partição e aplicar o Row_Number nos dados particionados.
Passos:
Sintaxe:
partição = janela.Partionby ("coluna").ordem ("coluna")Podemos solicitar os dados particionados com a coluna particionada ou qualquer outra coluna.
Sintaxe:
dataframe_obj.withcolumn ("name", row_number ().sobre (partição))Aqui, o nome especifica o nome da linha e o dataframe_obj é o nosso pyspark dataframe.
Vamos implementar o código.
Exemplo 1:
Aqui, criamos um quadro de dados Pyspark que possui 5 colunas - ['sujeito_id', 'nome', 'idade', 'tecnologia1', 'Technology2'] com 10 linhas e particionando as linhas com base nas Technology1 Usando a função da janela depois de obter os números de linha para partições e adicione -os na coluna - Linha para Technology1.
Importar PysparkSaída:
Explicação:
A primeira saída representa os dados reais presentes no DataFrame. Na segunda saída, a partição é feita com base no Technology1 coluna.
O número total de partições é 4.
Partição 1:
O .A rede ocorreu duas vezes na primeira partição. Então, os row_numbers são 1 e 2.
Partição 2:
Hadoop ocorreu uma vez na segunda partição. Então, o row_number é 1.
Partição 3:
Oracle ocorreu cinco vezes na terceira partição. Então, os row_numbers são 1, 2, 3, 4 e 5.
Partição 4:
PHP ocorreu duas vezes na quinta partição. Então, os row_numbers são 1 e 2.
Exemplo 2:
Para o mesmo dataframe, partimos as linhas com base em Technology2 Usando a função da janela depois de obter os números de linha para partições e adicione -os na coluna - Linha para Technology2.
Importar PysparkSaída:
Explicação:
A primeira saída representa os dados reais presentes no DataFrame. Na segunda saída, a partição é feita com base no Technology2 coluna.
O número total de partições é 3.
Partição 1:
C# ocorreu três vezes na primeira partição. Então, os row_numbers são 1, 2 e 3.
Partição 2:
HTML ocorreu duas vezes na segunda partição. Então, os row_numbers são 1 e 2.
Partição 3:
Os testes ocorreram cinco vezes na terceira partição. Então, os row_numbers são 1, 2, 3, 4 e 5.
Conclusão
Discutimos como particionar as linhas no quadro de dados Pyspark e obter os números de linha em cada partição usando a função da janela row_number (). O Row_Number no Pyspark é uma função de janela que é usada para definir os números que começam de 1 em cada janela particionada. Certifique -se de usar este comando enquanto usa esta função - de Pyspark.SQL.Funções Importar row_number.