Aggregering
Alla vanliga aggregeringsmetoder, som .min(), .max() och .count(), är metoder för GroupedData. Dessa skapas genom att anropa DataFrames .groupBy()-metod. Du får lära dig exakt vad det innebär om några övningar. För nu räcker det att anropa den metoden på din DataFrame. För att till exempel hitta det minsta värdet i kolumnen col i en DataFrame df kan du skriva
df.groupBy().min("col").show()
Detta skapar ett GroupedData-objekt (så att du kan använda .min()-metoden), hittar sedan det minsta värdet i col och returnerar det som en DataFrame.
Nu är du redo att utföra din egen aggregering!
En SparkSession med namnet spark finns redan i din arbetsmiljö, tillsammans med Spark-DataFramen flights.
Den här övningen är en del av kursen
Grunderna i PySpark
Övningsinstruktioner
- Hitta längden på det kortaste flygningen (mätt i distans) som avgick från PDX genom att först filtrera med
.filter()och sedan använda metoden.min(). Utför filtreringen genom att referera direkt till kolumnen, inte genom att skicka en SQL-sträng. - Hitta längden på det längsta flygningen (mätt i tid) som avgick från SEA genom att filtrera med
filter()och sedan använda metoden.max(). Utför filtreringen genom att referera direkt till kolumnen, inte genom att skicka en SQL-sträng.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Find the shortest flight from PDX in terms of distance
flights.filter(____.____ == ____).groupBy().____(____).show()
# Find the longest flight from SEA in terms of air time
flights.filter(____).groupBy().____.show()