Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不带SQLContext的pyspark中的clearCache_Python_Apache Spark_Pyspark_Apache Spark Sql - Fatal编程技术网

Python 不带SQLContext的pyspark中的clearCache

Python 不带SQLContext的pyspark中的clearCache,python,apache-spark,pyspark,apache-spark-sql,Python,Apache Spark,Pyspark,Apache Spark Sql,考虑到SQLContext的pySpark说“从Spark 2.0开始,它被SparkSession取代。” 如何在不使用SQLContext的情况下从内存缓存中删除所有缓存表 例如,其中spark是SparkSession,sc是sparkContext: from pyspark.sql import SQLContext SQLContext(sc, spark).clearCache() 我认为除了pyspark中的SQLContext之外,其他地方没有可用的clearCache。下面

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

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

例如,其中
spark
SparkSession
sc
sparkContext

from pyspark.sql import SQLContext
SQLContext(sc, spark).clearCache()

我认为除了pyspark中的
SQLContext
之外,其他地方没有可用的
clearCache
。下面的示例使用
SQLContext.getOrCreate
使用现有SparkContext实例创建实例:

SQLContext.getOrCreate(sc).clearCache()
在scala中,通过SparkSession直接实现这一点有一种更简单的方法:

spark.sharedState.cacheManager.clearCache()
如Clay所述,目录中还有一个选项:

spark.catalog.clearCache
最后一个来自Jacek Laskowski的gitbooks:

spark.sql("CLEAR CACHE").collect

参考资料:

谢谢,这让我意识到从pySpark访问底层Java SparkSession可以做同样的事情您非常渴望尽可能优化代码:)我还发现
spark.catalog
似乎是
SQLContext
的替代品,尽管在2.2.0中没有很好的文档记录。因此,
spark.catalog.clearCache()
也会清除缓存。好的,我从我总结的文档中也发现了这一点,它主要用于与配置单元的交互、存储表信息等。做得好!