问题描述
`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笔记本有大约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
预先感谢
解决方法
你可以在你的 sql notebook 中创建一个 python 单元来调用 dbutils.notebook.exit("fail")
用魔术命令创建一个python单元
%python
在单元格的顶部。
然后检查调用笔记本中的返回码
return_code = dbutils.notebook.run(...)