Apache Spark: когда запускается очистка дискового кеша (persist () w / StorageLevel.useDisk == true) - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь выяснить, когда Spark очищается после приложения, которое сохраняет некоторые данные на диск.Глядя на код, кажется, что ContextCleaner.keepCleaning () использует наилучший подход к очистке (последний, когда вызывается SparkContext.stop ()).

Я не мог понять, что происходит, еслиСбой очистки, в частности, есть ли задача обслуживания, которая бы справилась с этим?

Если нет, каков рекомендуемый способ обеспечения такой очистки (мы могли бы создать демона, но как мы должны настроить его так, чтобы оннайдет нужные файлы и требуется ли это?).

Нам нужен детерминистский механизм, поскольку кластер обрабатывает данные, которые могут содержать PII, и мы должны предоставить гарантии того, что он будет очищен для поддержания соответствия.

Спасибо!

1 Ответ

0 голосов
/ 25 января 2019

Я не уверен, какую версию свечи вы используете. Как вы упомянули, Spark имеет очищающий поток, который используется для автоматического удаления неиспользуемых (слабо достижимых) объектов через очередь со слабыми ссылками. Так как этот поток установлен как демон, и он не выбрасывает исключения внутри, я думаю, что основной поток продолжит работать, даже если завершается поток очистки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...