节点管理

查看子路径

  1. SHOW CHILD PATHS pathPattern

可以查看此路径模式所匹配的所有路径的下一层的所有路径和它对应的节点类型,即pathPattern.*所匹配的路径及其节点类型。

节点类型:ROOT -> SG INTERNAL -> DATABASE -> INTERNAL -> DEVICE -> TIMESERIES

示例:

  • 查询 root.ln 的下一层:show child paths root.ln
  1. +------------+----------+
  2. | child paths|node types|
  3. +------------+----------+
  4. |root.ln.wf01| INTERNAL|
  5. |root.ln.wf02| INTERNAL|
  6. +------------+----------+
  7. Total line number = 2
  8. It costs 0.002s
  • 查询形如 root.xx.xx.xx 的路径:show child paths root.*.*
  1. +---------------+
  2. | child paths|
  3. +---------------+
  4. |root.ln.wf01.s1|
  5. |root.ln.wf02.s2|
  6. +---------------+

查看子节点

  1. SHOW CHILD NODES pathPattern

可以查看此路径模式所匹配的节点的下一层的所有节点。

示例:

  • 查询 root 的下一层:show child nodes root
  1. +------------+
  2. | child nodes|
  3. +------------+
  4. | ln|
  5. +------------+
  • 查询 root.ln 的下一层 :show child nodes root.ln
  1. +------------+
  2. | child nodes|
  3. +------------+
  4. | wf01|
  5. | wf02|
  6. +------------+

统计节点数

IoTDB 支持使用COUNT NODES <PathPattern> LEVEL=<INTEGER>来统计当前 Metadata 树下满足某路径模式的路径中指定层级的节点个数。这条语句可以用来统计带有特定采样点的设备数。例如:

  1. IoTDB > COUNT NODES root.** LEVEL=2
  2. IoTDB > COUNT NODES root.ln.** LEVEL=2
  3. IoTDB > COUNT NODES root.ln.wf01.* LEVEL=3
  4. IoTDB > COUNT NODES root.**.temperature LEVEL=3

对于上面提到的例子和 Metadata Tree,你可以获得如下结果:

  1. +------------+
  2. |count(nodes)|
  3. +------------+
  4. | 4|
  5. +------------+
  6. Total line number = 1
  7. It costs 0.003s
  8. +------------+
  9. |count(nodes)|
  10. +------------+
  11. | 2|
  12. +------------+
  13. Total line number = 1
  14. It costs 0.002s
  15. +------------+
  16. |count(nodes)|
  17. +------------+
  18. | 1|
  19. +------------+
  20. Total line number = 1
  21. It costs 0.002s
  22. +------------+
  23. |count(nodes)|
  24. +------------+
  25. | 2|
  26. +------------+
  27. Total line number = 1
  28. It costs 0.002s

注意:时间序列的路径只是过滤条件,与 level 的定义无关。

查看设备

  • SHOW DEVICES pathPattern? (WITH DATABASE)? limitClause? #showDevices

Show Timeseries 相似,IoTDB 目前也支持两种方式查看设备。

  • SHOW DEVICES 语句显示当前所有的设备信息,等价于 SHOW DEVICES root.**
  • SHOW DEVICES <PathPattern> 语句规定了 PathPattern,返回给定的路径模式所匹配的设备信息。

SQL 语句如下所示:

  1. IoTDB> show devices
  2. IoTDB> show devices root.ln.**

你可以获得如下数据:

  1. +-------------------+---------+
  2. | devices|isAligned|
  3. +-------------------+---------+
  4. | root.ln.wf01.wt01| false|
  5. | root.ln.wf02.wt02| false|
  6. |root.sgcc.wf03.wt01| false|
  7. | root.turbine.d1| false|
  8. +-------------------+---------+
  9. Total line number = 4
  10. It costs 0.002s
  11. +-----------------+---------+
  12. | devices|isAligned|
  13. +-----------------+---------+
  14. |root.ln.wf01.wt01| false|
  15. |root.ln.wf02.wt02| false|
  16. +-----------------+---------+
  17. Total line number = 2
  18. It costs 0.001s

其中,isAligned表示该设备下的时间序列是否对齐。

查看设备及其 database 信息,可以使用 SHOW DEVICES WITH DATABASE 语句。

  • SHOW DEVICES WITH DATABASE 语句显示当前所有的设备信息和其所在的 database,等价于 SHOW DEVICES root.**
  • SHOW DEVICES <PathPattern> WITH DATABASE 语句规定了 PathPattern,返回给定的路径模式所匹配的设备信息和其所在的 database。

SQL 语句如下所示:

  1. IoTDB> show devices with database
  2. IoTDB> show devices root.ln.** with database

你可以获得如下数据:

  1. +-------------------+-------------+---------+
  2. | devices| database|isAligned|
  3. +-------------------+-------------+---------+
  4. | root.ln.wf01.wt01| root.ln| false|
  5. | root.ln.wf02.wt02| root.ln| false|
  6. |root.sgcc.wf03.wt01| root.sgcc| false|
  7. | root.turbine.d1| root.turbine| false|
  8. +-------------------+-------------+---------+
  9. Total line number = 4
  10. It costs 0.003s
  11. +-----------------+-------------+---------+
  12. | devices| database|isAligned|
  13. +-----------------+-------------+---------+
  14. |root.ln.wf01.wt01| root.ln| false|
  15. |root.ln.wf02.wt02| root.ln| false|
  16. +-----------------+-------------+---------+
  17. Total line number = 2
  18. It costs 0.001s

统计设备数量

  • COUNT DEVICES <PathPattern>

上述语句用于统计设备的数量,同时允许指定PathPattern 用于统计匹配该PathPattern 的设备数量

SQL 语句如下所示:

  1. IoTDB> show devices
  2. IoTDB> count devices
  3. IoTDB> count devices root.ln.**

你可以获得如下数据:

  1. +-------------------+---------+
  2. | devices|isAligned|
  3. +-------------------+---------+
  4. |root.sgcc.wf03.wt03| false|
  5. | root.turbine.d1| false|
  6. | root.ln.wf02.wt02| false|
  7. | root.ln.wf01.wt01| false|
  8. +-------------------+---------+
  9. Total line number = 4
  10. It costs 0.024s
  11. +--------------+
  12. |count(devices)|
  13. +--------------+
  14. | 4|
  15. +--------------+
  16. Total line number = 1
  17. It costs 0.004s
  18. +--------------+
  19. |count(devices)|
  20. +--------------+
  21. | 2|
  22. +--------------+
  23. Total line number = 1
  24. It costs 0.004s