Výběr sloupců
Sparkový ekvivalent SQL příkazu SELECT je metoda .select(). Přijímá více argumentů – jeden pro každý sloupec, který chceš vybrat. Argumenty mohou být buď název sloupce jako řetězec, nebo objekt sloupce (syntaxí df.colName). Při předání objektu sloupce můžeš provádět operace jako sčítání nebo odčítání, čímž upravíš data v daném sloupci – podobně jako uvnitř .withColumn().
Rozdíl mezi metodami .select() a .withColumn() spočívá v tom, že .select() vrátí pouze sloupce, které zadáš, zatímco .withColumn() vrátí všechny sloupce DataFrame spolu s nově definovaným sloupcem. Obvykle se vyplatí zbytečné sloupce odebrat hned na začátku, aby ses při zpracování dat nevláčel/a s nadbytečnými informacemi. V takovém případě použiješ .select(), ne .withColumn().
Pamatuj, že v pracovním prostředí máš k dispozici SparkSession s názvem spark i Spark DataFrame flights.
Toto cvičení je součástí kurzu
Foundations of PySpark
Pokyny k cvičení
- Z DataFrame
flightsvyber sloupce"tailnum","origin"a"dest"tak, že předáš názvy sloupců jako řetězce. Výsledek ulož do proměnnéselected1. - Vyber sloupce
"origin","dest"a"carrier"pomocí syntaxedf.colNamea výsledek filtruj oběma filtry, které jsou pro tebe už připraveny (filterAafilterB), aby zůstaly pouze lety z SEA do PDX. Výsledek ulož do proměnnéselected2.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Select the first set of columns
selected1 = flights.select("____", "____", "____")
# Select the second set of columns
temp = flights.select(____.____, ____.____, ____.____)
# Define first filter
filterA = flights.origin == "SEA"
# Define second filter
filterB = flights.dest == "PDX"
# Filter the data, first by filterA then by filterB
selected2 = temp.filter(____).filter(____)