ADF 映射数据流失败并出现 BatchUpdateException
Posted
技术标签:
【中文标题】ADF 映射数据流失败并出现 BatchUpdateException【英文标题】:ADF Mapping Data Flows failing with BatchUpdateException 【发布时间】:2021-01-31 20:07:10 【问题描述】:过去几个月我有许多映射数据流一直在定期运行,其中一些昨天开始出现故障。
数据流模式是-
来源:2 个 Azure SQL DB 表,Synapse 中的一个查找表
接收器:Synapse (Azure SQL DB) 中的 1 个表
我们启用了 Polybase Staging 以获得更好的性能,因为没有它,每个活动都需要很长时间,并且为此提供了与 Azure Blob 存储帐户的链接服务。
昨晚我们的一些较大的表在中途运行失败并出现以下错误,但较小的表都成功了。几个月来,这些管道或任何链接服务都没有发生任何变化。
进入调试模式后,我无法查看任何 Synapse 接收器活动的数据预览,除非我在设置中禁用“暂存”选项。如果我尝试启用暂存,它会显示“应指定 Blob 存储暂存属性”,这是我在调试设置中输入的,但仍然出现错误。
奇怪的是,这个问题只发生在移动大量数据的数据流上,较小的表在调试模式下也很好。所有这些数据流在 2 天前都是成功的,那么这可能是 Blob 存储中的空间问题吗?
管道活动错误代码:
"StatusCode":"DFExecutorUserError",
"Message":"Job failed due to reason: at Sink 'SinkIntoSynapse':
java.sql.BatchUpdateException: There are no batches in the input script.",
"Details":"at Sink 'SinkIntoSynapse':
java.sql.BatchUpdateException: There are no batches in the input script."
【问题讨论】:
【参考方案1】:我发现这是由于在接收器设置的预复制脚本部分中注释掉了 SQL 语句造成的。
如果您在 Pre-copy 脚本部分有任何内容,请在发布并再次运行数据工厂之前尝试将其删除。
【讨论】:
以上是关于ADF 映射数据流失败并出现 BatchUpdateException的主要内容,如果未能解决你的问题,请参考以下文章