Zvládneš SQL dotaz?
Jednou z výhod rozhraní DataFrame je možnost spouštět SQL dotazy na tabulkách ve Spark clusteru. Pokud nemáš s SQL žádné zkušenosti, nevadí – potřebné dotazy ti připravíme! (Chceš-li se SQL naučit do hloubky, začni naším kurzem Introduction to SQL.)
Jak jsi viděl/a v předchozím cvičení, jednou z tabulek v clusteru je tabulka flights. Obsahuje záznam pro každý let, který v letech 2014 a 2015 odletěl z mezinárodního letiště Portland (PDX) nebo Seattle-Tacoma (SEA).
Spustit dotaz na tuto tabulku je jednoduché – stačí zavolat metodu .sql() na objektu SparkSession. Tato metoda přijímá řetězec s dotazem a vrací DataFrame s výsledky!
Pokud se podíváš pozorně, všimneš si, že tabulka flights je zmíněná pouze v dotazu, nikoli jako argument žádné metody. Je to proto, že v tvém prostředí neexistuje žádný lokální objekt, který by tato data obsahoval – nedávalo by tedy smysl předávat tabulku jako argument.
Připomínáme, že v tvém workspace už je vytvořená SparkSession s názvem spark. (Tentokrát se nejmenuje my_spark, protože jsme ji vytvořili za tebe!)
Toto cvičení je součástí kurzu
Foundations of PySpark
Pokyny k cvičení
- Pomocí metody
.sql()získej prvních 10 řádků tabulkyflightsa výsledek ulož do proměnnéflights10. Proměnnáqueryobsahuje příslušný SQL dotaz. - Pomocí metody
.show()objektu DataFrame vypiš obsahflights10.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Don't change this query
query = "FROM flights SELECT * LIMIT 10"
# Get the first 10 rows of flights
flights10 = ____
# Show the results
flights10.____