我想知道删除作业适用于 Databricks。它是否在终止作业集群时立即终止代码执行?如果我使用微批处理,它是否确保最后一批被处理然后终止,或者它只是突然终止,可能导致数据丢失/数据损坏?我怎样才能避免这种情况?
另外,当我删除正在运行的集群上的作业时会发生什么?
我想知道删除作业适用于 Databricks。它是否在终止作业集群时立即终止代码执行?如果我使用微批处理,它是否确保最后一批被处理然后终止,或者它只是突然终止,可能导致数据丢失/数据损坏?我怎样才能避免这种情况?
另外,当我删除正在运行的集群上的作业时会发生什么?
它将立即终止 - 不优雅。
您使用的是结构化流式处理还是真正的微批处理?如果是前者,那么一个检查点文件就足以再次从正确的位置开始。(https://docs.databricks.com/spark/latest/structured-streaming/production.html)
如果您有自己的批处理过程,则需要手动编写检查点文件以跟踪您的进度。鉴于缺乏事务,我将确保您的管道是幂等的,因此如果您重新启动并重复批处理,则不会产生任何影响。