Apache IoTDB 在生成聚合查询时为何将不同层数据分组到一次计算中?

问题描述 投票:0回答:1

我在Apache IoTDB中做了一个聚合查询计算,查询语句是这样的:

SELECT SUM(NON_NEGATIVE_DIFFERENCE(sql_select_time) /NON_NEGATIVE_DIFFERENCE(sql_select_count)/1000000) FROM root.olm.
OCEAN_BASE_04
.
QPS
.
359409358596864
.obdemo.** GROUP BY ([now() - 30m, now()), 1m, 1m), level = 6
。然而,我从这一句话中得到了两种结果。右边的,
level=6
指的是数据结构的
sys
层,两个字段都除以
sys
层值。对于错误的路径,带有
level=6
的一条路径是
sys
,另一条路径是
ora_001
。它们不应该属于同一组,但它们聚合在一起。这种情况是错误还是配置错误?有什么解决办法吗?

aggregate apache-iotdb iotdb
1个回答
0
投票

在Apache IoTDB的树形数据模型中,此类查询会执行笛卡尔积,因此会出现您提到的现象。如果是对单个设备进行查询,结果是没有问题的。如果进行多个设备查询,可以通过检查过滤计算值。不过已经有计划参考标准SQL实现表模型了,这样的问题就不会再出现了。

© www.soinside.com 2019 - 2024. All rights reserved.