Подтвердить что ты не робот

Как отключить RDD?

Я использовал cache() для кэширования данных в памяти, но я понял, чтобы увидеть производительность без кэшированных данных, которые мне нужны, чтобы удалить их для удаления данных из памяти:

rdd.cache();
//doing some computation
...
rdd.uncache()

но я получил сообщение об ошибке:

Значение uncache не является членом org.apache.spark.rdd.RDD [(Int, Array [Float])]

Я не знаю, как сделать uncache тогда!

4b9b3361

Ответ 1

Попробуйте использовать unpersist() (источник).

Ответ 2

Функция uncache не существует. Я думаю, что вы искали непервиста. Что по Spark ScalaDoc помечает RDD как непостоянный и удаляет из него все блоки из памяти и диска.

Ответ 3

Если вы кешируете исходные данные в RDD, используя .cache() или Вы объявили небольшую память. или используется память по умолчанию, и около 500 МБ для меня. и вы снова и снова запускаете код,

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

Сделайте это, используя: RDD_Name.unpersist()