Практика кэширования: часть 1
В следующих нескольких упражнениях вы поэкспериментируете с различными способами кэширования двух датафреймов.
Датафрейм df1 загружается из CSV-файла и проходит несколько этапов обработки. Поскольку df1 используется более одного раза, он является кандидатом для кэширования.
Второй датафрейм df2 создаётся путём выполнения дополнительных ресурсоёмких операций над df1. Он также является кандидатом для кэширования.
Так как df2 зависит от df1, возникает вопрос: что эффективнее — кэшировать df1 или кэшировать df2?
В этом упражнении попробуйте кэшировать df1. Обратите внимание на время выполнения каждого действия — в следующем упражнении вы сравните полученные результаты.
Это упражнение является частью курса
Введение в Spark SQL на Python
Инструкции к упражнению
- Кэшируйте только
df1. - Запустите первое действие над
df1и повторите его, затем запустите действие надdf2и повторите его. Этот шаг уже выполнен за вас. - Проверьте, кэширован ли
df1.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Unpersists df1 and df2 and initializes a timer
prep(df1, df2)
# Cache df1
____
# Run actions on both dataframes
run(df1, "df1_1st")
run(df1, "df1_2nd")
run(df2, "df2_1st")
run(df2, "df2_2nd", elapsed=True)
# Prove df1 is cached
print(____)