Agregace
Všechny běžné agregační metody, jako .min(), .max() nebo .count(), jsou metodami objektu GroupedData. Ten vzniká voláním metody .groupBy() na DataFrame. Co přesně to znamená, se dozvíš v dalších cvičeních. Prozatím stačí tuto metodu zavolat na svém DataFrame. Chceš-li například najít minimální hodnotu sloupce col v DataFrame df, napíšeš:
df.groupBy().min("col").show()
Tím vznikne objekt GroupedData (díky němuž můžeš použít metodu .min()), který najde minimální hodnotu ve sloupci col a vrátí ji jako DataFrame.
Teď jsi připraven/a si agregaci vyzkoušet na vlastních datech!
V pracovním prostoru už máš k dispozici SparkSession s názvem spark a také Spark DataFrame flights.
Toto cvičení je součástí kurzu
Foundations of PySpark
Pokyny k cvičení
- Zjisti délku nejkratšího letu (z hlediska vzdálenosti), který odletěl z PDX – použij metodu
.filter()a poté.min(). Filtrování proveď přímým odkazem na sloupec, ne předáním SQL řetězce. - Zjisti délku nejdelšího letu (z hlediska doby trvání), který odletěl z SEA – použij metodu
filter()a poté.max(). Filtrování proveď přímým odkazem na sloupec, ne předáním SQL řetězce.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()