缓存 DataFrame
您接到一项任务,需要在一个 DataFrame 上运行多次分析操作。您了解到,在重复使用 DataFrame 时采用缓存可以提升性能,并希望加以实现。
您将使用一个包含航空公司起飞信息的新数据集。它可能包含重复数据,需要进行去重。
DataFrame departures_df 已定义,但尚未执行任何 action。
本练习是课程的一部分
使用 PySpark 进行数据清洗
练习说明
- 将
departures_dfDataFrame 中的唯一行进行缓存。 - 对
departures_df执行一次计数查询,并记录该操作耗时。 - 再次计数,并记录缓存后 DataFrame 的耗时差异。
交互式实操练习
通过完成这段示例代码来试试这个练习。
start_time = time.time()
# Add caching to the unique rows in departures_df
departures_df = departures_df.____.____
# Count the unique rows in departures_df, noting how long the operation takes
print("Counting %d rows took %f seconds" % (departures_df.____, time.time() - start_time))
# Count the rows again, noting the variance in time of a cached DataFrame
start_time = time.time()
print("Counting %d rows again took %f seconds" % (____, time.time() - start_time))