我有一个 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
语句。
困扰我的是没有算术运算,所以我不知道溢出应该从哪里来。而且我数据库中的参考数据非常简单。