DataBricks:dbutils.notebook.run() 因作业中止而失败,但 运行 笔记本单独工作
DataBricks: dbutils.notebook.run() fails with job aborted but running the notebook individually works
我有一个笔记本,其中 运行 有很多笔记本,顺序如下:
%python
notebook_list = ['Notebook1', 'Notebook2']
for notebook in notebook_list:
print(f"Now on Notebook: {notebook}")
try:
dbutils.notebook.run(f'{notebook}', 3600)
except Exception as e:
print(e)
pass
当我 运行 这个笔记本时,我得到作业中止的异常,总计如下:
Exceptions:
(1): Task failed while writing rows,
(2): Failed to execute user defined function (SQLDriverLocal$$$Lambda07/462935920: (string) => string)
(3): No input widget named effective_dating is defined
对于#2 -- 我没有用户定义的函数;我只使用 Spark 函数。
对于 #3 -- 小部件看起来不错,我认为它只是将其称为错误,因为之前的错误。
但是,如果我单独 运行 Notebook1
或 Notebook2
(运行 所有按钮),它们 运行 正如预期的那样。
更有趣的是,如果我 运行 上面的循环持续 秒 时间,每个笔记本都会 运行 正常;但是 只有在 我 运行 每个人之后。
我想要一个包含 运行 多个笔记本的笔记本,而不是为 运行 每个单独的笔记本设置一个管道。
我找到了答案,dbutils.notebook.run
不会 运行 其他笔记本中的小部件,从而导致使用这些小部件的单元格出错。
我有一个笔记本,其中 运行 有很多笔记本,顺序如下:
%python
notebook_list = ['Notebook1', 'Notebook2']
for notebook in notebook_list:
print(f"Now on Notebook: {notebook}")
try:
dbutils.notebook.run(f'{notebook}', 3600)
except Exception as e:
print(e)
pass
当我 运行 这个笔记本时,我得到作业中止的异常,总计如下:
Exceptions:
(1): Task failed while writing rows,
(2): Failed to execute user defined function (SQLDriverLocal$$$Lambda07/462935920: (string) => string)
(3): No input widget named effective_dating is defined
对于#2 -- 我没有用户定义的函数;我只使用 Spark 函数。
对于 #3 -- 小部件看起来不错,我认为它只是将其称为错误,因为之前的错误。
但是,如果我单独 运行 Notebook1
或 Notebook2
(运行 所有按钮),它们 运行 正如预期的那样。
更有趣的是,如果我 运行 上面的循环持续 秒 时间,每个笔记本都会 运行 正常;但是 只有在 我 运行 每个人之后。
我想要一个包含 运行 多个笔记本的笔记本,而不是为 运行 每个单独的笔记本设置一个管道。
我找到了答案,dbutils.notebook.run
不会 运行 其他笔记本中的小部件,从而导致使用这些小部件的单元格出错。