Pyspark Partion Um quadro de dados
É possível particionar as linhas no quadro de dados usando a função da janela. Está disponível no Pyspark.SQL.janela módulo. Haverá duas etapas para particionar as linhas em um pyspark Dataframe.
Passos
Sintaxe
partição = janela.Partionby ("coluna")Podemos solicitar os dados particionados com a coluna particionada ou qualquer outra coluna. Vamos criar o quadro de dados.
Exemplo
Aqui, criaremos um pyspark Dataframe que possui 5 colunas: ['sujeito_id', 'nome', 'idade', 'tecnologia1', 'tecnologia2'] com 10 linhas.
Saída:
Função da janela Pyspark Sum ()
A soma () na função da janela é usada para retornar a soma total dos valores em cada partição. Portanto, é possível retornar uma soma depois de particionar o DataFrame.
Sintaxe
dataframe_obj.WithColumn ("Sum", Sum (Col ("Coluna")).sobre (partição))Parâmetro:
soma (col ("coluna"))Aqui o soma() Função toma o nome da coluna como o parâmetro. Então, ele retorna a soma dos valores nesta coluna em cada partição. Adicionamos o resultado em uma coluna de soma usando o withcolumn () função.
Exemplo 1
Agora, temos um DataFrame (criado acima). Vamos dividi -lo com base na coluna da tecnologia1 e obter a soma total de todos os valores na coluna sujeito_id em cada partição.
Saída:
Explicação
Partições totais: 4
Partição 1:
.A rede ocorreu duas vezes na primeira partição. E a soma dos valores sujeitos_ID é 46+46 = 92.
Partição 2:
Hadoop ocorreu uma vez na segunda partição. Então, a soma é 12.
Partição 3:
Oracle ocorreu quatro vezes na terceira partição.
E a soma dos valores sujeitos_ID é 4+46+12+4 = 66.
Partição 4:
PHP ocorreu três vezes na quarta partição.
E a soma dos valores sujeitos_ID é 4+4+4 = 12.
Exemplo 2
Agora, temos um DataFrame (criado acima). Vamos particionar com base na coluna da tecnologia1 e obter a soma total de todos os valores na coluna etária em cada partição.
Saída:
Explicação
Partições totais: 4
Partição 1:
.A rede ocorreu duas vezes na primeira partição. E a soma dos valores da idade é 22+22 = 92.
Partição 2:
Hadoop ocorreu uma vez na segunda partição. Então, a soma é 22.
Partição 3:
Oracle ocorreu quatro vezes na terceira partição.
E a soma dos valores da idade é 21+22+22+23 = 88.
Partição 4:
PHP ocorreu três vezes na quarta partição.
E a soma dos valores da idade é 23+23+21 = 67.
Função da janela pyspark avg ()
O avg () na função da janela é usado para retornar a média total dos valores em cada partição. Portanto, é possível retornar a média após a partição do quadro de dados.
Sintaxe
dataframe_obj.WithColumn ("Média", AVG (col ("coluna")).sobre (partição))Parâmetro:
AVG (col ("coluna"))Aqui, AVG () toma o nome da coluna como o parâmetro. Então, ele retorna a média dos valores nesta coluna em cada partição. Estamos adicionando o resultado na coluna média usando o withcolumn () função.
Exemplo 1
Agora, temos um DataFrame (criado acima). Vamos participar com base na coluna da tecnologia1 e obter a média total de todos os valores na coluna Subjetion_id em cada partição.
Saída:
Explicação
Partições totais: 4
Partição 1:
.A rede ocorreu duas vezes na primeira partição. E a média dos valores sujeitos_ID é (46+46)/2 = 46.0.
Partição 2:
Hadoop ocorreu uma vez na segunda partição. Então, a média é 12.0.
Partição 3:
Oracle ocorreu quatro vezes na terceira partição.
E a média dos valores sujeitos_ID é (4+46+12+4)/4 = 16.5.
Partição 4:
PHP ocorreu três vezes na quarta partição.
E a média dos valores sujeitos_ID é (4+4+4)/3 = 4.0.
Exemplo 2
Agora, temos um DataFrame (criado acima). Vamos particionar com base na coluna da tecnologia1 e obter a média total de todos os valores na coluna etária em cada partição.
Saída:
Explicação
Partições totais: 4
Partição 1:
.A rede ocorreu duas vezes na primeira partição. E o valor médio da idade é (22+22)/2 = 22.0.
Partição 2:
Hadoop ocorreu uma vez na segunda partição. Então, a média é 22.0.
Partição 3:
Oracle ocorreu quatro vezes na terceira partição.
E a idade média é (21+22+22+23)/4 = 22.0.
Partição 4:
PHP ocorreu três vezes na quarta partição.
E o valor médio da idade é (23+23+21)/3 = 22.333.
Conclusão
Neste tutorial de particionamento Pyspark, vimos como retornar a soma dos valores em cada janela particionada usando o soma() função e os valores médios em cada janela particionada usando a função AVG (). Adicionamos o resultado ao quadro de dados existente como uma nova coluna. Também é possível obter a média semelhante ao AVG () função usando significar(). As coisas importantes significam de Pyspark.SQL.funções módulo e simplesmente certifique -se de importar a soma e a média do mesmo módulo.