通过Azure Stream Analytics

时间:2017-12-15 15:49:29

标签: azure azure-stream-analytics

物联网传感器每10分钟在1kHZ进行1000次测量,并将10个单独消息中的值发送到Azure IoT Hub。我应该将十个单独的消息连接回一个用于进一步处理,例如计算RMS和FFT。

消息具有以下结构:

{
    "SampleID" : 12344,
    "PartionIdx" : 2,
    "NbrPartitions": 10,
    "Values" : [12,13,14,13,12,11,10,9]
}

因此,在收到所有10个消息后,具有相同SampleID的所有消息的值应按PartitionIdx顺序连接在一起。我尝试使用Stream Analytics但失败了。

Stream Analytics的这项任务太复杂了吗?如果是,除了编写连接的Web作业之外,还有其他选择。

1 个答案:

答案 0 :(得分:1)

问题有两个方面

  1. 知道所有价值何时到来。
  2. 将它们连接在一起。
  3. 1, 如果特定设备Id的事件始终到达eventhub和同一个eventhub分区,或者如果您对数据的乱序方式有所了解,可以使用TIMESTAMP BY OVER()子句创建一个每个设备的不同时间线。这将阻止deviceId的输出,直到收到来自该分区的足够数据。

    对于2,您可以像@ js-azure一样使用Collect()。如果您希望将数据格式化为特定记录而不是记录数组,则可以使用javascript aggregates