9.IOTDB元数据操作

分类栏目:IOTDB

资讯

  1. 存储组管理

    创建存储组
    语法: create storage group root.ln 或者 set storage group to root.ln
    存储组的父子节点都不能设置存储组。存储组节点名只支持中英文字符,数字,下划线和中划线的组合
     
    查看存储组
    语法: show storage group 或者 show storage group 来查看存储组
     
    删除存储组
    语法: delete storage group 删除所有匹配的存储组,同时也会删除存储组中的数据。
     
    统计存储组数量
    语法: count storage group 语句统计存储组的数量
  2. 节点管理

    查看子路径
    语法:show child paths pathPattern
    查找此路径模式所匹配的所有路径的下一层的所有路径,即pathPattern.*所匹配的路径。
     
    查看子节点
    语法:show child nodes pathPattern
    查找次路径模式所匹配的节点的下一层的所有节点。
     
    统计节点数
    语法: count nodes level= 来统计当前Metadata树下满足某路径模式的路径中指定层级的节点个数。
     
    查看设备
    语法: show deivces
     
    统计设备数量
    语法: count devices 用于统计设备的数量,同时允许指定PathPattern用于统计匹配该pathPattern的设备数量
  3. 时间序列管理

    创建时间序列
    语法: create timeseries root.ln.wfo1.temperature
    创建对齐时间序列: create aligned timeseries root.ln.wf01.temperature 一组对齐序列中的序列可以有不同的数据类型,编码方式以及压缩方式
    对齐的时间序列也支持设置别名,标签,属性。
     
    删除时间序列
    语法:delete timeseries
     
    查看时间序列
    语法:show timeseries 中可以有四种可选的子句,查询结果为这些时间序列的所有信息。时间序列信息具体包括:时间序列路径名,存储组,Measurement别名,数据类型,编码方式,压缩方式,属性和标签。
     
    统计时间序列总数
    语法:count timeseries

    标签点管理
    标签和属性的区别在于:
    标签可以用来查询时序列路径,会在内存中维护标点到时间序列路径的倒排索引:标签 -> 时间序列路径
    属性只能用时间序列路径来查询:时间序列路径 -> 属性
    语法: create timeseries root.turbine.d1.s1(temprature) with datatype=FLOAT, encoding=RLE, compression=SNAPPY tags(tag1=v1, tag2=v2) attributes(attr1=v1, attr2=v2)括号里的temprature是s1这个传感器的别名。 我们可以在任何用到s1的地方,将其用temprature代替,这两者是等价的。
  4. 元数据模板

    元数据模板功能,实现同类型不同实体的物理量元数据共享,减少元数据内存占用,同时简化同类型实体的管理。
     
    创建元数据模板
    语法:CREATE SCHEMA? TEMPLATE ALIGNED? '(' [',' ]+ ')'
     
    挂载元数据模板
    语法:set schema template t1 to root.sg1.d1
     
    查看元数据模板
    语法:show schema templates
     
    卸载元数据模板
    语法:unset schema template t1 from root.sg1.d1
     
    删除元数据模板
    语法:drop schema template t1
    注意:不支持删除已经挂载的模板。
  5. 数据存活时间

    IotDB支持对存储组级别设置数据存活时间(TTL),这使得IOTDB可以定期,自动地删除一定时间之前的数据。合理使用TTL可以帮助您控制IOTDB占用的总磁盘空间以避免出现磁盘写满等异常。并且,随着文件数量的增多,查询性能往往随之下降,内存占用也会有所提高。及时删除一些较老的文件有助于使查询性能维持在一个较高的水平和减少内存资源的占用

    设置TTL
    语法:set ttl to root.ln 3600000
    表示在root.ln存储组中,只有最近一个小时的数据将会保存,旧数据会被移除或不可见。
     
    取消TTL
    语法:unset ttl to root.ln
    取消设置TTL后,存储组root.ln中所有的数据都会被保存.
     
    显示TTL
    语法:show all ttl 或者 show ttl on sotragegroupname