考虑到pySparkdocumentationforSQLContext
表示“从Spark 2.0开始,这将被SparkSession替换。”
如何在不使用SQLContext
的情况下从内存缓存中删除所有缓存表?
例如,其中spark
是一个SparkSession
,sc
是一个sparkContext
:
from pyspark.sql import SQLContext
SQLContext(sc, spark).clearCache()
最佳答案
我认为除了pyspark中的clearCache
之外,SQLContext
在其他地方是不可用的。下面的示例使用现有的SCAKEngult实例创建一个实例,使用“cc>”:
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/