没有SQLContext的pyspark中的clearCache

时间:2019-05-03 17:45:32

标签: python apache-spark pyspark apache-spark-sql

考虑到WindowsSDK_LibraryPath的pySpark documentation说:“从Spark 2.0开始,它被SparkSession取代。”

如何在不使用SQLContext的情况下从内存缓存中删除所有缓存的表?

例如,其中SQLContextspark,而SparkSessionsc

sparkContext

1 个答案:

答案 0 :(得分:1)

除pyspark中的clearCache外,我认为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