pyspark 将失败的笔记本错误传递到Azure数据工厂(ADF)中的“执行管道”之外

mrphzbgm  于 2023-10-15  发布在  Spark
关注(0)|答案(1)|浏览(129)

所以,我在ADF中有一个“执行管道”,在它里面我有多个笔记本,它们正在向表写入查询。
我还有一个databricks notebook,它有一个发送电子邮件的类(notebook使用widget动态接收错误,这个错误将作为电子邮件的正文发送)
目前,我正在工作:如果笔记本失败,则整个“执行流水线”失败。现在,我想做的是,如果一个笔记本失败了,它会转到电子邮件笔记本,并发送一封电子邮件。
我试过这个:

我给notebook错误的参数是:

它确实有效,但它会使管道变得混乱!
理想情况下,我会喜欢这样的东西,但我在将失败的笔记本的错误从“执行管道”内部传递到外部时遇到了麻烦。

有人知道我该怎么做吗?或者有不同的方式?我也在考虑管道内部的Try-Catch,但我不确定它是否有效:/
Thank you!:D

xqk2d5yq

xqk2d5yq1#

为了将值从一个管道传递到另一个管道的Activity,您可以在设置变量Activity中使用管道返回值选项。

  • 单击执行管道活动中的Wait on completion

  • 在通过执行管道活动调用的管道中,添加一个设置变量活动并创建一个新变量并定义该变量。在这里,我创建了一个名为return_val的变量,notebook输出作为该变量的值。

  • 在执行活动之后的主管道中,您可以添加任何活动,并且可以从子管道传递值。

@activity('Execute Pipeline1').output.pipelineReturnValue.return_val
这里return_val是我在子管道中使用的变量名。

相关问题