clearCache в pyspark без SQLContext - PullRequest
3 голосов
/ 03 мая 2019

Учитывая, что документация pySpark для SQLContext говорит: «Начиная с Spark 2.0, это заменяется SparkSession».

Как удалить все кэшированные таблицы из кэша в памяти без использования SQLContext?

Например, где spark представляет собой SparkSession, а sc представляет собой sparkContext:

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

1 Ответ

1 голос
/ 03 мая 2019

Я не думаю, что clearCache доступен в другом месте, кроме SQLContext в pyspark.В приведенном ниже примере создается экземпляр с использованием SQLContext.getOrCreate с использованием существующего экземпляра SparkContext:

SQLContext.getOrCreate(sc).clearCache()

В Scala, хотя есть более простой способ добиться того же самого напрямую через SparkSession:

spark.sharedState.cacheManager.clearCache()

Еще один вариант в каталоге, о котором упоминал Клэй:

spark.catalog.clearCache

И последний из справочников Яцека Ласковского:

spark.sql("CLEAR CACHE").collect

Ссылка: https://jaceklaskowski.gitbooks.io/mastering-spark-sql/spark-sql-caching-and-persistence.html

...