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

Створення стовпців

У цьому розділі ви навчитеся використовувати методи класу DataFrame у Spark для виконання типових операцій з даними.

Розгляньмо операції над стовпцями. У Spark це можна зробити методом .withColumn(), який приймає два аргументи. Перший — рядок із назвою нового стовпця, другий — сам новий стовпець.

Новий стовпець має бути об'єктом класу Column. Створити його просто: дістаньте стовпець із вашого DataFrame за допомогою df.colName.

Оновлення Spark DataFrame дещо відрізняється від роботи в pandas, адже Spark DataFrame — незмінний (immutable). Тобто його не можна змінити, і стовпці не оновлюються «на місці».

Отже, усі ці методи повертають новий DataFrame. Щоб перезаписати початковий DataFrame, потрібно переназначити повернений DataFrame, наприклад так:

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

Цей код створює DataFrame з тими самими стовпцями, що й df, плюс новий стовпець newCol, у якому кожне значення дорівнює відповідному значенню з oldCol, збільшеному на один.

Щоб перезаписати наявний стовпець, просто передайте його назву як перший аргумент!

Пам'ятайте, у вашому середовищі вже є SparkSession з назвою spark.

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

Основи PySpark

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

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

  • Скористайтеся методом spark.table() з аргументом "flights", щоб створити DataFrame зі значеннями таблиці flights у .catalog. Збережіть його як flights.
  • Показуйте початок flights за допомогою flights.show(). Перевірте результат: у стовпці air_time міститься тривалість перельоту в хвилинах.
  • Оновіть flights, додавши новий стовпець duration_hrs, у якому буде тривалість кожного перельоту в годинах (потрібно поділити air_time на кількість хвилин у годині).

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

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

# Create the DataFrame flights
flights = spark.table(____)

# Show the head
____.____()

# Add duration_hrs
flights = flights.withColumn(____)
Редагувати та запускати код