Apache IoTDB基于时间段偏移查询时后期时间序列缺失原因咨询
Apache IoTDB 对齐时间序列分页数据缺失的可能原因
混淆统计维度导致参数错误:对齐时间序列是将同一设备、同一时间戳下的多个测点数据存储为一行。如果你统计的是时间序列(测点)的数量,但
offset分页是基于时间戳数据行的偏移,用测点总数作为offset参数完全逻辑错误,会直接跳过大量有效数据行,导致结果缺失。比如统计出有100个测点,用offset 100会跳过前100行时间戳数据,而非100个测点。1.2.0版本对齐序列的分页bug:IoTDB 1.2.0版本中,对齐时间序列的
limit/offset分页存在已知逻辑缺陷,尤其是跨数据分区查询时,offset计算会出现偏差,导致部分数据行被错误跳过。本地编译版本若未同步官方后续修复补丁,该问题会更突出。跨分区查询的计数偏差:当查询时间跨度覆盖多个数据分区时,IoTDB对对齐序列的offset计数会在分区间出现累计错误。对齐序列按设备+时间分区存储,跨分区时系统无法准确累计已跳过的数据行数,最终返回的分页结果会缺失部分数据。
总数统计SQL的逻辑错误:若用来统计总数的SQL写法错误,比如用
COUNT(*)查对齐序列会返回时间戳行总数而非时间序列总数;反之若错误统计测点总数作为分页依据,会导致分页参数完全不匹配,引发数据缺失。正确的时间序列总数统计应使用SHOW TIMESERIES配合COUNT,数据行总数统计用SELECT COUNT(*) FROM ... WHERE time BETWEEN ...。
内容的提问来源于stack exchange,提问作者tianyi zhang
相关产品推荐
相关产品推荐

