考虑到pySparkdocumentationforSQLContext表示“从Spark 2.0开始,这将被SparkSession替换。”
如何在不使用SQLContext的情况下从内存缓存中删除所有缓存表?
例如,其中spark是一个SparkSessionsc是一个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/

10-11 10:32