Как убить работу в Databricks

У меня долгая работа, и если будут выполнены определенные условия, я бы хотел ее убить. Это традиционно делается в Python, как:

if some_condition:
   exit('job failed!)

Это работает при традиционном запуске сценария Python из командной строки. Однако, по причинам, которые мне не понятны, Databricks не убивает скрипт при выходе.

Как я могу запрограммировать скрипт Python Databricks для автоматической остановки при выполнении определенного условия?

1 ответ

Решение

Я думаю, это связано с тем, что в общем стеке существует Python REPL, заставляющий exit() фактически не выходить из JVM, внутри которой находится Spark. Исключение, которое вы ищете для выхода из спарк-задания, вероятно, SparkException - https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/SparkException.scala

Кроме того, в Databricks вы можете использовать dbutils.notebook.exit() https://docs.databricks.com/user-guide/notebooks/notebook-workflows.html

Другие вопросы по тегам