Spark Structured Streaming v2.4.0 - каталог контрольных точек растет вечно: * .tmp.crc файлы никогда не удаляются - PullRequest
0 голосов
/ 19 февраля 2019

Я запускаю Spark (2.4) структурированное потоковое задание, которое читает из Kafka topic и записывает агрегированные данные в другую тему, используя окно с водяным знаком.В такой конфигурации Spark требуется каталог контрольных точек.Проблема в том, что размер каталога контрольных точек постоянно увеличивается из-за того, что *.crc.tmp файлы никогда не удаляются.Эти файлы присутствуют в поддиректориях коммитов, смещений и состояний.Я использую опцию spark.sql.streaming.minBatchesToRetain, чтобы ограничить объем сохраняемой истории, но скрытые временные файлы crc, похоже, навсегда остаются в файловой системе.

Пример, давайте посмотрим обычные файлы в подкаталоге коммитов:

ls checkpoint/commits/     
6605  6606  6607  6608  6609  6610  6611  6612  6613  6614

Теперь давайте включим скрытые файлы

$ls -a checkpoint/commits/ | head
.
..
..0.085caf0c-c924-411c-8907-5b1c3856de9d.tmp.crc
..1000.6c40ff1c-2ad5-4c88-a04b-1545089904db.tmp.crc
..1001.abebcebd-2cb9-49e7-a058-79735b8f1b9d.tmp.crc
..100.1c0f0619-63a5-46e4-9122-0f2ef6317d3b.tmp.crc
..1002.880fcde1-3982-4886-aa5b-c62b7542b27f.tmp.crc
..1003.68f41a4c-096e-4449-949f-9adeb5a78673.tmp.crc
..1004.57558c08-05fe-49e0-9b0e-96d278aed5eb.tmp.crc
..1005.5f653083-7e4d-4931-9cd3-c53aa0c0d524.tmp.crc

$ls -a checkpoint/commits/ | grep -c .tmp.crc
6657

Через всего пару часов работы у меня большеболее 6000 файлов только в подкаталоге коммитов, в то время как в полном каталоге контрольных точек у меня около 100K файлов.Задание работало несколько часов.

Это ошибка в Spark?Кто-нибудь знает, как заставить Spark автоматически удалять старые *.tmp.crc файлы?

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