Останавливает ли «Задание удаления блоков данных» выполнение кода в кластере немедленно? - PullRequest
0 голосов
/ 25 января 2019

Я хочу знать, что работа по удалению работы на Databricks. Это немедленно прекращает выполнение кода при завершении кластера заданий? Если я использую микропакет, проверяет ли он, что последний пакет обрабатывается, а затем завершается, или это просто резкое прерывание, которое может привести к потере или повреждению данных? Как я могу избежать этого?

Кроме того, что происходит, когда я удаляю работу на работающем кластере?

1 Ответ

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

Это немедленно прекратится - не изящно.

Используете ли вы структурированную потоковую передачу или настоящее микропакетирование? Если первый, то файл контрольной точки будет достаточно для запуска в нужном месте снова. (https://docs.databricks.com/spark/latest/structured-streaming/production.html)

Если у вас есть собственный пакетный процесс, вам нужно будет вручную написать файл контрольной точки, чтобы отслеживать, где вы находитесь. Учитывая отсутствие транзакций, я бы позаботился о том, чтобы ваш конвейер был идемпотентным, так что если вы перезапустите и повторите пакет, это не повлияет.

...