PySpark的clearCache()会清除哪些存储级别?磁盘存储表是否被清理?
问题解答:
clearCache()是否会取消磁盘持久化的DataFrame? 是的,spark.sql.Catalog.clearCache()会取消所有持久化的DataFrame(包括用StorageLevel.DISK_ONLY持久化到磁盘的)的持久化状态。
关键细节:
- 官方文档的描述可能存在误导性,但实际行为是:该方法会清理Spark缓存系统中的所有条目,无论存储级别是内存、磁盘还是两者混合。
- 调用
clearCache()后,不仅内存中的缓存数据会被释放,磁盘上的持久化文件也会被Spark清理,同时目标DataFrame的持久化标记会被移除(可以通过df.storageLevel验证,会回到默认的StorageLevel.NONE状态)。 - 本质上,
clearCache()是触发了Spark缓存管理器的全局清理操作,覆盖所有类型的持久化缓存内容。
内容的提问来源于stack exchange,提问作者Arturo Sbr
相关产品推荐
相关产品推荐

