如何在Notebook中自定义Azure Databricks Job Run的状态与错误码
Azure Databricks Job 自定义状态与错误码实现
场景1:保持Job状态为Succeeded并自定义错误码
可以通过dbutils.notebook.exit()方法返回自定义信息,Job会维持Succeeded状态,同时将指定内容输出到运行详情中。示例代码:
# 读取源数据并检查是否为空 source_df = spark.read.table("your_source_table") if source_df.count() == 0: # 返回自定义错误码信息,Job状态保持成功 dbutils.notebook.exit("No data in source")
运行后,在Job的「Run output」区域会显示你指定的字符串。如果需要结构化输出,也可以返回JSON格式:
dbutils.notebook.exit('{"error_code": "No data in source", "message": "源数据为空"}')
场景2:使Job失败并自定义错误码
要替换默认的RunExecutionError,只需主动抛出带有自定义消息的异常即可。Job会转为Failed状态,错误详情中会显示你指定的内容。示例代码:
source_df = spark.read.table("your_source_table") if source_df.count() == 0: # 抛出自定义异常,触发Job失败并显示指定错误信息 raise Exception("No data found")
如果需要更规范的异常类型,也可以自定义异常类:
class NoDataFoundError(Exception): """自定义无数据异常""" pass source_df = spark.read.table("your_source_table") if source_df.count() == 0: raise NoDataFoundError("No data found")
此时Job失败详情中会明确显示NoDataFoundError及对应的消息,替代默认的通用错误类型。
内容的提问来源于stack exchange,提问作者anuj
相关产品推荐
相关产品推荐

