1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Podstawy PySpark

Connected

Bài tập

Wybieranie kolumn II

Podobnie jak w SQL, metody .select() możesz używać także do operacji na kolumnach. Gdy wybierasz kolumnę za pomocą notacji df.colName, możesz wykonać na niej dowolną operację – metoda .select() zwróci przekształconą kolumnę. Na przykład:

flights.select(flights.air_time/60)

zwraca kolumnę z czasem lotu w godzinach zamiast w minutach. Możesz też użyć metody .alias(), aby zmienić nazwę wybieranej kolumny. Jeśli chcesz za pomocą .select() uzyskać kolumnę duration_hrs (której nie ma w twoim DataFrame), możesz napisać:

flights.select((flights.air_time/60).alias("duration_hrs"))

Równoważna metoda .selectExpr() przyjmuje wyrażenia SQL w postaci ciągu znaków:

flights.selectExpr("air_time/60 as duration_hrs")

Słowo kluczowe SQL as pełni tu taką samą rolę jak metoda .alias(). Aby wybrać wiele kolumn, wystarczy przekazać kilka ciągów znaków.

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

Hướng dẫn

100 XP

Stwórz tabelę ze średnią prędkością każdego lotu – na dwa sposoby.

  • Oblicz średnią prędkość, dzieląc distance przez air_time (przeliczony na godziny). Użyj metody .alias(), aby nazwać tę kolumnę "avg_speed". Zapisz wynik w zmiennej avg_speed.
  • Wybierz kolumny "origin", "dest", "tailnum" oraz avg_speed (bez cudzysłowów!). Zapisz wynik jako speed1.
  • Utwórz tę samą tabelę, używając .selectExpr() i ciągu znaków zawierającego wyrażenie SQL. Zapisz wynik jako speed2.