练习缓存:第 1 部分
在接下来的几个练习中,您将尝试用不同方式缓存两个 DataFrame。
一个 dataframe df1 是从一个 csv 文件加载的,并执行了若干处理步骤。由于 df1 会被多次使用,它适合被缓存。
第二个 dataframe df2 通过在 df1 上执行额外且计算密集的步骤创建,同样也适合被缓存。
因为 df2 依赖于 df1,于是出现一个问题:缓存 df1 更好,还是缓存 df2 更好?
在本练习中,我们先尝试缓存 df1。请注意每个 action 所用的时间。我们将在下一个练习中进行比较。
本练习是课程的一部分
Python 中的 Spark SQL 入门
练习说明
- 只缓存
df1。 - 在
df1上运行一次 action 并重复,然后在df2上运行一次 action 并重复。此步骤已为您准备好。 - 确认
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(____)