Azure 流分析作业在使用静态引用数据时不生成输出

Posted

技术标签:

【中文标题】Azure 流分析作业在使用静态引用数据时不生成输出【英文标题】:Azure Stream Analytics Job generates no output when using static reference data 【发布时间】:2021-01-12 10:57:53 【问题描述】:

我编写了一个使用流输入并将其与静态 json 参考数据连接起来的查询。在“测试结果”选项卡中测试查询时,我得到了正确的结果(上传相同的示例参考数据)。但是,启动作业时不会生成任何输出。

我的查询:

流输入每秒产生随机结果,例如:

而json参考文件为:

从监控仪表板也没有输入事件或输出。

我已确认在查询中未使用参考数据连接时会创建输出 blob。我已将 json 参考数据上传到存储容器中,并在我的示例中提供了路径模式:ref/Atm.json。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

我只是好奇并试图重现,我使用的查询与您的查询非常相似。

SELECT sum(A.amount),B.area_code
INTO Gen2
FROMEHInput A
JOIN JSONref B ON A.ATMCode=B.atm_code
group by B.area_code,TumblingWindow(minute,1)

这是您的输出。(所有垃圾数据,但它确认查询有效)

"sum":63580.0,"area_code":20

"sum":73060.0,"area_code":30

"sum":68220.0,"area_code":20

此时,我想进行一些更改以检查是否可以重现您没有输出的情况,我只是将静态文件更新为不存在的文件,ASA 从未抱怨过,但我也从未得到结果。 我认为您可能会遇到相同的问题(正如您提到的那样,没有加入事情就可以正常工作)。 就我而言,我的静态文件位置类似于

https://blobaccount.blob.core.windows.net/container/**File2/Atm.json**

当我创建参考输入时,我将文件名传递为

我认为由于某种原因它在这里搞砸了。

其他你可以试试的把TW增加到更大的窗口。

告诉我进展如何。

【讨论】:

【参考方案2】:

我设法解决了这个问题。您建议的错误是我为参考数据指定的路径模式。所以我创建了一个容器,例如“mycontainer”,我只是将 json 文件放入其中。对我有用的路径模式只是该容器内 json 文件的名称。没有 "/" ,在我的例子中只有 Atm.json。

现在流作业在我的 Blob 存储中创建输出文件。

【讨论】:

以上是关于Azure 流分析作业在使用静态引用数据时不生成输出的主要内容,如果未能解决你的问题,请参考以下文章

Azure 流分析作业对小数据来说很昂贵?

重新启动 Azure 流分析作业而不丢失数据

具有事件中心输入流位置的 Azure 流分析

Azure 流分析作业无限运行

使用 PowerBi 的 Azure 流分析失败

Azure 流分析作业在输入格式错误 (JSON) 后被阻止