Как сделать акулу / искру очистить кеш?

hadoop hive apache-spark shark-sql

26427 просмотра

4 ответа

когда я выполняю свои запросы об акулах, память накапливается в основной памяти. Это мой главный результат команды.


Память: всего 74237344 КБ, использовано 70080492 КБ, свободно 4156852 КБ, буферов 399544 К Обмен: всего 4194288 КБ, использовано 480 КБ, 4193808 КБ свободно, 65965904 Кэшировано


это не изменится, даже если я убью / остановлю процессы shark, spark, hadoop. Прямо сейчас единственный способ очистить кеш - перезагрузить компьютер.

кто-нибудь сталкивался с этой проблемой раньше? это какая-то проблема конфигурации или известная проблема в spark / shark?

Автор: venkat Источник Размещён: 25.07.2019 08:35

Ответы (4)


20 плюса

Решение

Чтобы удалить все кэшированные данные:

sqlContext.clearCache()

Источник: https://spark.apache.org/docs/2.0.1/api/java/org/apache/spark/sql/SQLContext.html

Автор: Henrique Florêncio Размещён: 19.05.2017 05:36

29 плюса

Используете ли вы cache()метод для сохранения RDD?

cache()просто звонит persist(), чтобы удалить кеш для RDD, звоните unpersist().

Автор: herman Размещён: 22.07.2014 02:24

1 плюс

Я следовал за этим, и он работал нормально для меня:

for ((k,v) <- sc.getPersistentRDDs) {
   v.unpersist()
}

sc.getPersistentRDDs - это карта, которая хранит детали кэшированных данных.

scala> sc.getPersistentRDDs

res48: scala.collection.Map [Int, org.apache.spark.rdd.RDD [_]] = Map ()

Автор: Sankar Размещён: 02.01.2019 04:14

0 плюса

Это странно Заданные вопросы не имеют ничего общего с ответами. Размещенный ОП кеша принадлежит операционной системе и не имеет ничего общего с искрой. Это оптимизация ОС, и мы не должны беспокоиться об этом конкретном кеше.

И искровой кеш обычно находится в памяти, но это будет в разделе RSS, а не в разделе кеша ОС.

Автор: Shawn Размещён: 25.07.2019 05:35
32x32