Agrupamento e agregação I
Parte do que torna as agregações tão poderosas é a adição de grupos. O PySpark tem uma classe inteira dedicada a DataFrames agrupados: pyspark.sql.GroupedData
, que você viu nos dois últimos exercícios.
Você aprendeu a criar um DataFrame agrupado chamando o método .groupBy()
com um DataFrame sem argumentos.
Agora você verá que, quando passa o nome de uma ou mais colunas do DataFrame para o método .groupBy()
, os métodos de agregação se comportam como quando você usa uma instrução GROUP BY
em uma consulta SQL!
Lembre-se de que uma SparkSession
chamada spark
já está em seu espaço de trabalho, junto com o DataFrame flights
do Spark.
Este exercício faz parte do curso
Introdução ao PySpark
Instruções do exercício
- Crie um DataFrame chamado
by_plane
que seja agrupado pela colunatailnum
. - Use o método
.count()
sem argumentos para contar o número de voos que cada avião fez. - Crie um DataFrame chamado
by_origin
que seja agrupado pela colunaorigin
. - Use
.avg()
para encontrar a média da colunaair_time
e descobrir a duração média dos voos de PDX e SEA.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Group by tailnum
by_plane = flights.groupBy("____")
# Number of flights each plane made
by_plane.____.show()
# Group by origin
by_origin = flights.groupBy("____")
# Average duration of flights from PDX and SEA
by_origin.avg("____").show()