2016-12-15 6 views
1

В автономном режиме я установил сервер искры (см. https://github.com/spark-jobserver/spark-jobserver/tree/jobserver-0.6.2-spark-1.6.1).Память освобождения от работы Spark

Я создал контекст по умолчанию для использования. В настоящее время у меня есть 2 вида работ на этом контексте:

  • Синхронизация с другим сервером:
    • выгружает данные из БД другого сервера;
    • Выполнение некоторых объединений, уменьшение данных, создание нового DF;
    • Сохраните полученный DF в паркетном файле;
    • Загрузите этот файл паркета в таблицу темпа и кешируйте его;
  • Запросы: выполнять sql-запросы на кэшированной таблице.

Единственный объект, который я сохраняю, - это финальная таблица, которая будет кэшироваться.

То, что я не получаю, - это то, что когда я выполняю синхронизацию, вся назначенная память используется и никогда не выпускается, но если я загружаю файл паркета напрямую (делая новый старт сервера, используя файл паркета сгенерированный ранее), используется только часть памяти.

Мне ничего не хватает? Есть способ освободить неиспользованную память?

Спасибо

ответ

1

Вы можете освободить память unpersisting кэшированные таблицы: yourTable.unpersist()

Смежные вопросы