1

我有一个 Azure 流分析作业,它使用一些参考数据来增强传入数据。其中一些,例如物理地址变化不那么频繁。

通用脚本看起来像这样。

SELECT
    a.input1
    a.input2
    b.input1
INTO output
from a
LEFT JOIN metadata AS b ON a.input1 = b.input1

如果我尝试运行此脚本,则会收到错误消息:

系统异常算术运算导致溢出。在 Microsoft.Streaming.StreamingNode.ReferenceData.DiscoveryCursor.get_NextDiscoveryDueTimeInMillisecond() 在 Microsoft.Streaming.StreamingNode.ReferenceData.ReferenceDataDiscoveryStrategyBase.Discover() 在 Microsoft.Streaming.StreamingNode.ReferenceData.ReferenceDataDiscoveryProcessor.Process(Boolean isInitialization) 在 Microsoft.Streaming.StreamingNode .ReferenceData.ReferenceDataDiscoveryProcessor.InitializeInput() 在 Microsoft.Streaming.StreamingNode.ProcessorScheduler.InitializeTopology(CancellationToken cToken) 在 Microsoft.Streaming.StreamingNode.ProcessorScheduler.ThreadProc()

我逐步简化了脚本。在 select 语句中消除 b 的每个概念是不够的,我什至不得不删除该Join语句。

困扰我的是没有算术运算,所以我不知道溢出应该从哪里来。而且我数据库中的参考数据非常简单。

4

1 回答 1

1

上述问题的解决方案让我很意外。由于参考数据很少变化,我将参考数据的刷新率设置为 30 天左右。

这会导致溢出错误。将刷新限制减少到 10 天后,我没有遇到其他问题,并且我的 ASA 查询有效。

希望这可以帮助某人并节省一些时间。

于 2021-12-13T13:08:58.173 回答