从sql笔记本调用dbutils.notebook.exit()

2024-10-06 12:11:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我对databricks相当陌生,我有一个疑问

我有一个调度作业,它调用sql笔记本

`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

提前谢谢


Tags: envcmddbsqlget作业笔记本widgets
1条回答
网友
1楼 · 发布于 2024-10-06 12:11:27

您可以在sql笔记本中创建一个python单元来调用dbutils.notebook.exit("fail")

使用magic命令创建python单元 %python 在牢房的顶部

然后检查通话记录簿中的返回码

return\u code=dbutils.notebook.run(…)

相关问题 更多 >