如何杀死 Databricks 中的工作
How to kill job in Databricks
我有一份长期 运行 的工作,如果满足某些条件,我想终止这份工作。这传统上是在 python 中完成的,例如:
if some_condition:
exit('job failed!)
这适用于 python 脚本的传统命令行 运行。但是,出于我无法理解的原因,Databricks 不会通过退出终止脚本。
如何编写 Databricks python 脚本,使其在满足特定条件时自动停止执行?
我认为这是由于 Python REPL 在整个堆栈中存在的位置导致 exit() 实际上并未退出 Spark 所在的 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#notebook-workflows
我有一份长期 运行 的工作,如果满足某些条件,我想终止这份工作。这传统上是在 python 中完成的,例如:
if some_condition:
exit('job failed!)
这适用于 python 脚本的传统命令行 运行。但是,出于我无法理解的原因,Databricks 不会通过退出终止脚本。
如何编写 Databricks python 脚本,使其在满足特定条件时自动停止执行?
我认为这是由于 Python REPL 在整个堆栈中存在的位置导致 exit() 实际上并未退出 Spark 所在的 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#notebook-workflows