【发布时间】:2022-08-19 16:42:31
【问题描述】:
我有一个 Synapse 管道,它在执行业务作业(另一个笔记本)之前运行一个包含单元测试的笔记本。单元测试笔记本使用mssparkutils.notebook.run() 命令引用了这些函数,并且当我在 Synapse Studio 中自行运行该笔记本时工作正常。但是,当我在管道中触发笔记本时,它会失败并出现错误:
{
\"errorCode\": \"6002\",
\"message\": \"NameError: name \'get_latest_report_per_user\' is not defined\",
\"failureType\": \"UserError\",
\"target\": \"Run Tests\",
\"details\": []
}
get_latest_report_per_user 在引用的笔记本中定义。当在管道外部单独运行时,该参考工作正常。
上面的 sn -p 来自我正在运行的单元测试笔记本,get_latest_report_per_user 是在 \"dependency\" 笔记本中定义的。
我尝试使用魔术%run 命令而不是mssparkutils.notebook.run() 无济于事。
为什么这仅在作为管道的一部分执行时才会失败?
标签: azure pyspark azure-data-factory azure-synapse spark-notebook