我是databricks的新手,我有一个疑问。
我有一个调用sql notebook的计划作业
`try:
dbutils.notebook.run("/01. SMETS1Mig/" + dbutils.widgets.get("env_parent_directory") + "/02 Processing Curated Staging/02 Build - Parameterised/MMT Processing - Migration Selection", 6000, {
"env_ingest_db": dbutils.widgets.get("env_ingest_db")
, "env_stg_db": dbutils.widgets.get("env_stg_db")
, "env_tech_db": dbutils.widgets.get("env_tech_db")
})
except Exception as error:
# 611 Start
# print
sys.exit('Failure in MMT Processing - Migration Selection ({error})')
# 611 End`sql notebook有大约30个cmd单元执行各种任务。我想在顶部添加一个cmd单元格,如果结果是0,那么它将退出笔记本并使作业失败。新的cmd可以使用以下逻辑
SELECT count(1)
FROM $env_tech_db.tbl_tech_daily_demand_import ddi
WHERE string(ddi.week_starting) = rtrim((
SELECT value
FROM $env_tech_db.tbl_tech_admin_data WHERE type = 'Selection_Week' ))
AND author = 'DCC';我一直在读关于dbutils.notebook.exit的文章,但就是像地狱一样困惑。有没有什么简单的方法可以满足我的要求。只允许我使用sql或python
提前感谢
发布于 2021-05-19 00:26:29
您可以在sql notebook中创建一个python单元格来调用dbutils.notebook.exit("fail")。
在单元顶部使用魔术命令%python创建一个python单元。
然后检查调用笔记本中的返回代码
return_code = dbutils.notebook.run(...)
https://stackoverflow.com/questions/63358434
复制相似问题