Повторне розбиття даних на розділи
Існує датафрейм text_df зі стовпцями id, word і chapter. Перші 5 рядків text_df виведено в консоль.
Ви можете визначити, що розділів 12, за допомогою такого коду:
text_df.select('chapter')\
.distinct()\
.sort('chapter')\
.show(truncate=False)
Результат цієї команди виведено в консоль як Table 1.
Наразі датафрейм text_df має один розділ (single partition). Припустімо, ви знаєте, що подальші кроки обробки групуватимуть дані за розділами. Обробка буде найефективнішою, якщо кожен розділ залишатиметься на одній машині. Щоб уникнути зайвого перемішування даних між машинами, перерозбиймо датафрейм так, щоб на кожний розділ припадав один розділ обчислення, використавши команди repartition і getNumPartitions, розглянуті в першому відеоуроці цього розділу.
Не вагайтеся звертатися до слайдів праворуч від консолі, якщо забудете, як щось робилося у відео.
Ця вправа є частиною курсу
Вступ до Spark SQL у Python
Інструкції до вправи
- Перерозбийте
text_dfна 12 розділів, щоб кожен розділ книги був у своєму власному розділі обчислення. - Відобразьте кількість розділів у новому датафреймі.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)
# Prove that repart_df has 12 partitions
repart_df.____.____