1. Nauka
  2. /
  3. Kursy
  4. /
  5. Podstawy PySpark

Connected

ćwiczenie

Tworzenie kolumn

W tym rozdziale dowiesz się, jak korzystać z metod klasy DataFrame w Sparku, aby wykonywać typowe operacje na danych.

Przyjrzyjmy się operacjom na kolumnach. W Sparku możesz je wykonywać metodą .withColumn(), która przyjmuje dwa argumenty. Pierwszy to ciąg znaków z nazwą nowej kolumny, a drugi – sama nowa kolumna.

Nowa kolumna musi być obiektem klasy Column. Możesz go łatwo utworzyć, wyodrębniając kolumnę z DataFrame za pomocą df.colName.

Aktualizowanie DataFrame w Sparku różni się nieco od pracy z pandas, ponieważ DataFrame w Sparku jest niemutowalny. Oznacza to, że nie można go modyfikować, a kolumny nie mogą być zmieniane w miejscu.

Dlatego wszystkie te metody zwracają nowy DataFrame. Aby nadpisać oryginalny DataFrame, musisz przypisać zwrócony DataFrame z powrotem do zmiennej, na przykład tak:

df = df.withColumn("newCol", df.oldCol + 1)

Powyższy kod tworzy DataFrame z tymi samymi kolumnami co df, powiększony o nową kolumnę newCol, w której każda wartość jest równa odpowiedniej wartości z oldCol powiększonej o jeden.

Aby nadpisać istniejącą kolumnę, wystarczy podać jej nazwę jako pierwszy argument!

Pamiętaj, że SparkSession o nazwie spark jest już dostępna w twoim obszarze roboczym.

Instrukcje

100 XP
  • Użyj metody spark.table() z argumentem "flights", aby utworzyć DataFrame zawierający wartości tabeli flights z .catalog. Zapisz go jako flights.
  • Wyświetl początek flights za pomocą flights.show(). Sprawdź wynik: kolumna air_time zawiera czas trwania lotu w minutach.
  • Zaktualizuj flights, dodając nową kolumnę o nazwie duration_hrs, która zawiera czas trwania każdego lotu w godzinach (podziel air_time przez liczbę minut w godzinie).