Apache IoTDB插入与读取时间戳不一致问题咨询
Apache IoTDB插入时间戳异常问题排查与解决
问题原因
你遇到的问题核心是时间戳单位不匹配:
IoTDB默认的时间戳精度为毫秒,但你传入的是秒级Unix时间戳(1670249372)。系统会将这个数值当作毫秒数解析,计算后得到的时间就是1970-01-20T07:57:28.105Z,和你读取到的结果完全吻合。
解决建议
- 手动转换时间戳单位:将传入的秒级时间戳乘以1000,转为毫秒级后再执行
insert_record,比如用1670249372000替代原数值。 - 修改IoTDB服务端配置:在
iotdb-engine.properties配置文件中找到timestamp_precision参数,将其值改为Second,重启服务后生效。注意修改后所有新插入数据的时间戳都要以秒为单位,同时需确保历史数据的时间戳精度一致,避免数据混乱。 - 客户端指定精度:如果使用Java客户端,在构建
Session时通过SessionConfiguration设置timestampPrecision为TimestampPrecision.SECOND,客户端会自动处理单位转换,无需手动调整数值。
内容的提问来源于stack exchange,提问作者wing z
相关产品推荐
相关产品推荐

