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 流分析作业在使用静态引用数据时不生成输出的主要内容,如果未能解决你的问题,请参考以下文章