ПочатиПочніть безкоштовно

Вибірка стовпців

У Spark варіантом SQL-оператора SELECT є метод .select(). Цей метод приймає кілька аргументів — по одному для кожного стовпця, який ви хочете вибрати. Аргументами можуть бути або назви стовпців як рядки (по одному на стовпець), або об'єкти стовпців (із синтаксисом df.colName). Якщо ви передаєте об'єкт стовпця, можна виконувати операції на кшталт додавання чи віднімання над цим стовпцем, змінюючи дані в ньому — подібно до того, як це робиться в .withColumn().

Різниця між методами .select() і .withColumn() полягає в тому, що .select() повертає лише вказані вами стовпці, тоді як .withColumn() повертає всі стовпці датафрейму плюс той, який ви визначили. Часто корисно на початку операції відкидати зайві стовпці, щоб не тягнути зайві дані під час обробки. У такому разі варто використовувати .select(), а не .withColumn().

Пам'ятайте: у вашому середовищі вже є SparkSession spark, а також датафрейм Spark flights.

Ця вправа є частиною курсу

Основи PySpark

Переглянути курс

Інструкції до вправи

  • Виберіть стовпці "tailnum", "origin" і "dest" з flights, передавши назви стовпців як рядки. Збережіть результат у змінній selected1.
  • Виберіть стовпці "origin", "dest" і "carrier", використовуючи синтаксис df.colName, а потім відфільтруйте результат за допомогою обох уже визначених для вас фільтрів (filterA і filterB), щоб залишити лише перельоти з SEA до PDX. Збережіть результат у змінній selected2.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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(____)
Редагувати та запускати код