pyspark dataframe cache 清除缓存
时间: 2024-08-28 15:00:56 浏览: 177
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
5星 · 资源好评率100%
Pyspark DataFrame的`cache()`方法用于将DataFrame存储到内存中,以便后续快速访问。当你第一次计算结果时,数据会被加载到内存中形成一个缓存。如果你之后想要清除这个缓存,可以使用`unpersist()`方法。这个方法有几种模式可以选择:
1. `memory_only`:仅从内存中移除缓存,如果数据也在磁盘上有副本,则不会删除。
2. `disk_only`:只从磁盘上移除缓存,保留内存中的副本。
3. `full` 或 `none`:完全从内存和磁盘上都移除缓存。
示例代码如下:
```python
df.cache() # 将DataFrame缓存起来
df.unpersist(True) # 清除所有级别的缓存,包括内存和磁盘
```
注意,每次对DataFrame做修改操作(如添加新列、过滤等)都会自动清空缓存,除非你在调用这些操作之前先调用了`cache()`。如果你想在修改后仍然保留缓存,你需要在修改后再显式地`cache()`。
阅读全文