Перераспределение данных по разделам
Существует датафрейм text_df со столбцами id, word и chapter. Первые 5 строк text_df выведены в консоль.
Убедиться в том, что глав 12, можно следующим образом:
text_df.select('chapter')\
.distinct()\
.sort('chapter')\
.show(truncate=False)
Результат этой команды выведен в консоль как Table 1.
Датафрейм text_df в настоящее время находится в одном разделе. Предположим, что вы знаете: последующие шаги обработки будут группировать данные по главам. Обработка будет наиболее эффективной, если каждая глава останется на одной машине. Чтобы избежать лишнего перемещения данных между машинами, перераспределим датафрейм так, чтобы каждая глава находилась в отдельном разделе. Для этого используйте команды 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.____.____