考虑到WindowsSDK_LibraryPath
的pySpark documentation说:“从Spark 2.0开始,它被SparkSession取代。”
如何在不使用SQLContext
的情况下从内存缓存中删除所有缓存的表?
例如,其中SQLContext
是spark
,而SparkSession
是sc
:
sparkContext
答案 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