首页 > 解决方案 > 如何使用 Pyspark 缓存增强的数据帧

问题描述

我有一个大型数据框,我在每次转换中都会增加它,我需要优化执行时间。我的问题是在每次转换后做一个 cache() ?

partitions=100
df = df.repartition(partitions, "uuid").cache()

df_aug = tran_1(df).cache()
df_aug = tran_2(df_aug).cache()
.
.
df_aug = tran_n(df_aug)

标签: apache-sparkpysparkpyspark-dataframes

解决方案


缓存不是提高性能的灵丹妙药 - 在您的情况下,它可能会减慢一切。当您多次访问同一个数据集时(例如在数据探索中),使用缓存是个好主意。如果您对单个数据集进行多次转换,它将导致序列化和存储,而它只会被读取一次。


推荐阅读