如果我的理解是正确的,那么一次只能运行一个流分析作业的实例。在完成当前事件集后,下一组事件将从事件中心拉出。所以,如果是顺序的。
如果处理需要20毫秒,其他事件将不得不等待那么多毫秒。我只是想知道如果这种顺序操作在生产负载中是否足够?
我知道PartitionBy子句,但由于我们使用IoT hub,我们不能使用partitionId / PartitionKey。
提前致谢
答案 0 :(得分:1)
具有相同deviceId的所有消息都将发送到同一partitionId。如果您的查询一次只查看一个deviceId,您仍然可以使用partitionId并独立处理每个分区。例如,使用Select,Filter only查询和包含keyid中deviceid的聚合的查询。
如果您的查询一次查看多个deviceIds(例如,计算窗口中的消息总数),则有两个选项。您可以先并行进行部分聚合,然后将它们组合在一起以获得全局聚合。或者只使用不带分区的查询。
此外,Azure流分析不会逐个收到消息,以引发您在问题中提到的那种延迟。