首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从sql notebook调用dbutils.notebook.exit()

从sql notebook调用dbutils.notebook.exit()
EN

Stack Overflow用户
提问于 2020-08-11 20:45:13
回答 1查看 836关注 0票数 0

我是databricks的新手,我有一个疑问。

我有一个调用sql notebook的计划作业

代码语言:javascript
复制
`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可以使用以下逻辑

代码语言:javascript
复制
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

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2021-05-19 00:26:29

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

在单元顶部使用魔术命令%python创建一个python单元。

然后检查调用笔记本中的返回代码

return_code = dbutils.notebook.run(...)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63358434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档