Apache IoTDB 客户端连接实战指南

Apache IoTDB 是一款高性能的时序数据库,广泛应用于物联网、工业互联网等领域。本文将详细介绍如何通过 JDBC、Shell 和 Java API 三种方式连接 Apache IoTDB,帮助开发者快速上手。


JDBC 方式连接

JDBC 是 Java 数据库连接的标准接口,适用于大多数 Java 应用程序。通过 JDBC 连接 Apache IoTDB 的步骤如下:

  1. 添加依赖
    在 Maven 项目中添加以下依赖:

    <dependency>
        <groupId>org.apache.iotdb</groupId>
        <artifactId>iotdb-jdbc</artifactId>
        <version>0.13.0</version>
    </dependency>
    

  2. 建立连接
    使用 DriverManager.getConnection 方法连接数据库:

    Class.forName("org.apache.iotdb.jdbc.IoTDBDriver");
    Connection connection = DriverManager.getConnection(
        "jdbc:iotdb://127.0.0.1:6667/",
        "root",
        "root"
    );
    

  3. 执行查询
    通过 Statement 对象执行 SQL 查询:

    Statement statement = connection.createStatement();
    ResultSet resultSet = statement.executeQuery("SELECT * FROM root.device");
    while (resultSet.next()) {
        System.out.println(resultSet.getString(1));
    }
    

  4. 关闭连接
    操作完成后,关闭连接释放资源:

    resultSet.close();
    statement.close();
    connection.close();
    


Shell 方式连接

Shell 是 Apache IoTDB 提供的命令行工具,适合快速测试和调试。

  1. 启动 Shell
    进入 IoTDB 安装目录,执行以下命令:

    ./sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root
    

  2. 执行命令
    在 Shell 中直接输入 SQL 语句:

    INSERT INTO root.device(time, temperature) VALUES (1, 25.5);
    SELECT * FROM root.device;
    

  3. 退出 Shell
    输入 quitexit 退出 Shell。


Java API 方式连接

Java API 提供了更灵活的操作方式,适合复杂业务场景。

  1. 添加依赖
    与 JDBC 方式相同,需要添加 iotdb-jdbc 依赖。

  2. 创建会话
    使用 Session 类建立连接:

    Session session = new Session("127.0.0.1", 6667, "root", "root");
    session.open();
    

  3. 插入数据
    通过 insertRecord 方法插入数据:

    String deviceId = "root.device";
    long timestamp = System.currentTimeMillis();
    List<String> measurements = Arrays.asList("temperature");
    List<TSDataType> types = Arrays.asList(TSDataType.FLOAT);
    List<Object> values = Arrays.asList(25.5f);
    session.insertRecord(deviceId, timestamp, measurements, types, values);
    

  4. 查询数据
    使用 executeQueryStatement 方法查询数据:

    SessionDataSet dataSet = session.executeQueryStatement("SELECT * FROM root.device");
    while (dataSet.hasNext()) {
        RowRecord record = dataSet.next();
        System.out.println(record.getFields());
    }
    

  5. 关闭会话
    操作完成后关闭会话:

    dataSet.closeOperationHandle();
    session.close();
    


总结

本文介绍了 Apache IoTDB 的三种连接方式:JDBC 适合标准 Java 应用,Shell 适合快速测试,Java API 适合复杂业务场景。开发者可以根据实际需求选择合适的方式。通过灵活运用这些方法,能够高效地管理和分析时序数据。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐