Aggregaties
Alle gebruikelijke aggregatiemethoden, zoals .min(), .max() en .count(), zijn GroupedData-methoden. Deze worden gemaakt door de DataFrame-methode .groupBy() aan te roepen. Je leert in een paar oefeningen precies wat dat betekent. Voor nu hoef je alleen die methode op je DataFrame aan te roepen om deze functies te gebruiken. Om bijvoorbeeld de minimumwaarde van een kolom col in een DataFrame df te vinden, kun je dit doen
df.groupBy().min("col").show()
Dit maakt een GroupedData-object (zodat je de .min()-methode kunt gebruiken), zoekt vervolgens de minimumwaarde in col en geeft die terug als een DataFrame.
Nu ben je klaar om zelf te gaan aggregeren!
Er staat al een SparkSession met de naam spark voor je klaar in je werkruimte, samen met de Spark DataFrame flights.
Deze oefening maakt deel uit van de cursus
Basis van PySpark
Oefeninstructies
- Zoek de lengte van de kortste (qua afstand) vlucht die vertrok vanaf PDX door eerst te
.filter()en en vervolgens de.min()-methode te gebruiken. Voer het filteren uit door direct naar de kolom te verwijzen en geen SQL-string door te geven. - Zoek de lengte van de langste (qua tijd) vlucht die vertrok vanaf SEA door te
filter()en en vervolgens de.max()-methode te gebruiken. Voer het filteren uit door direct naar de kolom te verwijzen en geen SQL-string door te geven.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()