数据聚合
数据聚合是收集、合并,并以摘要形式表达原始数据,以供统计分析的过程。例如,按分钟收集到的数据可以聚合为一小时的数据值,按小时收集到的数据又可以聚合为一天的数据值,依此类推。数据聚合能够显现出数据的模式,而这些模式可以作为数据分析和决策的基础。
聚合通常又称为摘要,而聚合数据又称为摘要数据。最常用的聚合运算符是 Sum(总和),另外还有其他多种运算符,如 Average(平均值)、Minimum(最小值)、Maximum(最大值)和 Count(计数)。 物联网设备管理门户 还支持 Weighted Average(加权平均值)和 Non-zero time weighted average(非零时间加权平均值)。以下是物联网设备管理门户支持的所有数据聚合:
物联网设备管理门户 聚合 | API 缩写(counter.count 和 property.aggregate | 描述 |
---|---|---|
Average | avg | 找到的指定时间区间内的数据值的平均值。此 avg 计算方法是将该时间区间内发布的所有数据值的总和除以该时间区间内发布的数据量。
|
Weighted average | wavg | 找到的指定时间区间内的数据值的时间加权平均值。此 wavg 计算方法是按分钟数对每个发布的数值进行加权,该分钟数为该时间区间的当前值。
|
Non-zero time weighted average | nzwavg | 找到的指定时间区间内的数据值的非零时间加权平均值。此 nzwavg 计算方法类似于 wavg,不同之处在于不是按序列中的整个时间区间(1 时或 1 天)进行加权,而是按该时间区间中数值非零的时间进行计算。
|
Sum | sum | 找到的指定时间区间内的数据值的总和。 |
Minimum | min | 找到的指定时间区间内的数据值的最小值。 |
Maximum | max | 找到的指定时间区间内的数据值的最大值。 |
Count | count | 指定时间区间内的数据值的数量。 |
聚合数据切片
物联网设备管理门户 以特定时间间隔收集数据,并在这些时间间隔的上下文呈现数据。 property.aggregate 将时间间隔细分为 hour(小时)或 day(天),而 counter.count 将时间间隔细分为 hour(小时)、day(天)、15 minute(15 分钟)、5 minute(5 分钟)和 total(总计)。您必须使用正确的时间间隔序列才能获得需要的聚合结果。
请注意,使用数据聚合 API 发布的数据需要按顺序发布。
下方示例解释了 property.aggregate 和 counter.count API 调用中需要用到的序列:
下方第一个表返回了一天的总和,因为 series(系列)设置为了 day(天)。如果只想返回 2:00:00 至 3:00:00 之间的结果,则需要将 series(系列)设置为 hour(小时)而不是 day(天)。其他可用于 series(系列)的选项包括15min(15 分钟)、5min(5 分钟)、或 total(总计)。