考虑 pySpark documentation对于 SQLContext
表示“从 Spark 2.0 开始,它已被 SparkSession 取代。”
如何在不使用 SQLContext
的情况下从内存缓存中删除所有缓存的表?
例如,spark
是一个 SparkSession
而 sc
是一个 sparkContext
:
from pyspark.sql import SQLContext
SQLContext(sc, spark).clearCache()
最佳答案
我不认为 clearCache
在 pyspark 中除了 SQLContext
之外其他地方可用。下面的示例使用现有的 SparkContext 实例使用 SQLContext.getOrCreate
创建一个实例:
SQLContext.getOrCreate(sc).clearCache()
在 scala 中,虽然有一种更简单的方法可以直接通过 SparkSession 实现相同的目的:
spark.sharedState.cacheManager.clearCache()
Clay 提到的目录中的另一个选项:
spark.catalog.clearCache
最后一个来自 Jacek Laskowski 的 gitbooks:
spark.sql("CLEAR CACHE").collect
引用:https://jaceklaskowski.gitbooks.io/mastering-spark-sql/spark-sql-caching-and-persistence.html
关于python - 没有 SQLContext 的 pyspark 中的 clearCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55974820/