常见问题

概览

  • 常见问题
    • 如何查询我的 IoTDB 版本?
    • 在哪里可以找到 IoTDB 的日志?
    • 在哪里可以找到 IoTDB 的数据文件?
    • 如何知道 IoTDB 中存储了多少时间序列?
    • 可以使用 Hadoop 和 Spark 读取 IoTDB 中的 TsFile 吗?
    • IoTDB 如何处理重复的数据点?
    • 我如何知道具体的 timeseries 的类型?
    • 如何更改 IoTDB 的客户端时间显示格式?

如何查询我的 IoTDB 版本?

有几种方法可以识别您使用的 IoTDB 版本:

*启动 IoTDB 的命令行界面:

  1. > ./start-cli.sh -p 6667 -pw root -u root -h localhost
  2. _____ _________ ______ ______
  3. |_ _| | _ _ ||_ _ `.|_ _ \
  4. | | .--.|_/ | | \_| | | `. \ | |_) |
  5. | | / .'`\ \ | | | | | | | __'.
  6. _| |_| \__. | _| |_ _| |_.' /_| |__) |
  7. |_____|'.__.' |_____| |______.'|_______/ version x.x.x
  • 检查 pom.xml 文件:
  1. <version>x.x.x</version>
  • 使用 JDBC API:
  1. String iotdbVersion = tsfileDatabaseMetadata.getDatabaseProductVersion();
  • 使用命令行接口:
  1. IoTDB> show version
  2. show version
  3. +---------------+
  4. |version |
  5. +---------------+
  6. |x.x.x |
  7. +---------------+
  8. Total line number = 1
  9. It costs 0.241s

在哪里可以找到 IoTDB 的日志?

假设您的根目录是:

  1. $ pwd
  2. /workspace/iotdb
  3. $ ls -l
  4. server/
  5. cli/
  6. pom.xml
  7. Readme.md
  8. ...

假如 $IOTDB_HOME = /workspace/iotdb/server/target/iotdb-server-{project.version}

假如 $IOTDB_CLI_HOME = /workspace/iotdb/cli/target/iotdb-cli-{project.version}

在默认的设置里,logs 文件夹会被存储在IOTDB_HOME/logs。您可以在IOTDB_HOME/conf目录下的logback.xml文件中修改日志的级别和日志的存储路径。

在哪里可以找到 IoTDB 的数据文件?

在默认的设置里,数据文件(包含 TsFile,metadata,WAL)被存储在IOTDB_HOME/data文件夹。

如何知道 IoTDB 中存储了多少时间序列?

使用 IoTDB 的命令行接口:

  1. IoTDB> show timeseries root

在返回的结果里,会展示Total timeseries number,这个数据就是 IoTDB 中 timeseries 的数量。

在当前版本中,IoTDB 支持直接使用命令行接口查询时间序列的数量:

  1. IoTDB> count timeseries root

如果您使用的是 Linux 操作系统,您可以使用以下的 Shell 命令:

  1. > grep "0,root" $IOTDB_HOME/data/system/schema/mlog.txt | wc -l
  2. > 6

可以使用 Hadoop 和 Spark 读取 IoTDB 中的 TsFile 吗?

是的。IoTDB 与开源生态紧密结合。IoTDB 支持 Hadoop经常问的问题 - 图1 (opens new window), Spark经常问的问题 - 图2 (opens new window)Grafana经常问的问题 - 图3 (opens new window) 可视化工具.

IoTDB如何处理重复的数据点?

一个数据点是由一个完整的时间序列路径(例如:root.vehicle.d0.s0)和时间戳唯一标识的。如果您使用与现有点相同的路径和时间戳提交一个新点,那么IoTDB将更新这个点的值,而不是插入一个新点。

我如何知道具体的 timeseries 的类型?

在 IoTDB 的命令行接口中使用 SQL SHOW TIMESERIES <timeseries path>:

例如:如果您想知道所有 timeseries 的类型 <timeseries path> 应该为 root。上面的 SQL 应该修改为:

  1. IoTDB> show timeseries root

如果您想查询一个指定的时间序列, 您可以修改 <timeseries path> 为时间序列的完整路径。比如:

  1. IoTDB> show timeseries root.fit.d1.s1

您还可以在 timeseries 路径中使用通配符:

  1. IoTDB> show timeseries root.fit.d1.*

如何更改IoTDB的客户端时间显示格式?

IoTDB 客户端默认显示的时间是人类可读的(比如:1970-01-01T08:00:00.001),如果您想显示是时间戳或者其他可读格式, 请在启动命令上添加参数-disableISO8601:

  1. > $IOTDB_CLI_HOME/sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root -disableISO8601