You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在Apache IoTDB表模型中设置浮点数精度?

在Apache IoTDB 2.0.4表模型中设置浮点数精度的正确方式

树模型中直接在序列定义里指定MAX_POINT_NUMBER的语法不适用于表模型,表模型需要通过WITH子句的FIELD_PROPERTIES参数来配置字段的额外属性,正确SQL写法如下:

CREATE TABLE vehicle(
  dn STRING TAG,
  sn FLOAT FIELD
) WITH (
  TTL=DEFAULT,
  FIELD_PROPERTIES = (
    'sn.MAX_POINT_NUMBER' = '2',
    'sn.ENCODING' = 'RLE' -- 必须搭配RLE或TS_2DIFF编码才生效
  )
);

关键说明

  • 表模型中,字段的编码(ENCODING)和精度属性(MAX_POINT_NUMBER)需统一放在WITH子句的FIELD_PROPERTIES中定义,格式为'字段名.属性名' = '属性值'
  • MAX_POINT_NUMBER仅对FLOAT/DOUBLE类型且采用RLE或TS_2DIFF编码的字段生效,必须同时指定对应编码才会触发精度控制逻辑
  • 执行上述语句后,表中sn字段会按照指定的2位小数精度进行存储和编码

内容的提问来源于stack exchange,提问作者ごまめとにまめ

火山引擎 最新活动