Zacznij terazZacznij za darmo

Wybieranie kolumn

Odpowiednikiem SQL-owego SELECT w Sparku jest metoda .select(). Przyjmuje ona wiele argumentów – po jednym dla każdej kolumny, którą chcesz wybrać. Argumenty mogą być podane jako nazwy kolumn w postaci ciągów znaków albo jako obiekty kolumn (z użyciem składni df.colName). Gdy przekazujesz obiekt kolumny, możesz wykonywać na niej operacje, takie jak dodawanie czy odejmowanie, zmieniając zawarte w niej dane – podobnie jak wewnątrz .withColumn().

Różnica między .select() a .withColumn() polega na tym, że .select() zwraca tylko wskazane kolumny, natomiast .withColumn() zwraca wszystkie kolumny DataFrame wraz z nowo zdefiniowaną. Zazwyczaj warto usunąć zbędne kolumny na początku pracy, żeby nie operować na nadmiarowych danych. W takim przypadku użyj .select() zamiast .withColumn().

Pamiętaj, że w twoim środowisku pracy dostępna jest już sesja SparkSession o nazwie spark oraz Spark DataFrame flights.

To ćwiczenie jest częścią kursu

Podstawy PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Wybierz kolumny "tailnum", "origin" i "dest" z DataFrame flights, przekazując nazwy kolumn jako ciągi znaków. Zapisz wynik jako selected1.
  • Wybierz kolumny "origin", "dest" i "carrier" za pomocą składni df.colName, a następnie przefiltruj wynik, używając obu już zdefiniowanych filtrów (filterA i filterB), tak aby zachować tylko loty z SEA do PDX. Zapisz wynik jako selected2.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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(____)
Edytuj i uruchom kod