文档

使用示例

更新时间:
一键部署

建议: 使用 TSDB SDK 之前,建议您先阅读名词解释和《HTTP API 参考》对 TSDB 的基本概念和 API 的使用说明进行了解。

写入数据

本段介绍如何使用 SDK 写入数据。操作前提是您已创建出 TSDB 对象。

Point 类为 TSDB 的时间点类。您可以使用 TSDB 对象的 put 方法将 Point 数据写入 TSDB 数据库。

示例代码

每秒写入一个 Point(时间点)数据:

  1. package com.aliyun.hitsdb.client.example;
  2. import java.io.IOException;
  3. import com.aliyun.hitsdb.client.TSDB;
  4. import com.aliyun.hitsdb.client.TSDBClientFactory;
  5. import com.aliyun.hitsdb.client.TSDBConfig;
  6. import com.aliyun.hitsdb.client.value.request.Point;
  7. public class TestWrite {
  8. public static void main(String[] args) throws InterruptedException, IOException {
  9. // 创建 TSDB 对象
  10. TSDBConfig config = TSDBConfig.address("example.hitsdb.com", 8242).config();
  11. TSDB tsdb = TSDBClientFactory.connect(config);
  12. // 构造数据并写入 TSDB
  13. for (int i = 0; i < 3600; i++) {
  14. Point point = Point.metric("test").tag("V", "1.0").value(System.currentTimeMillis(), 123.4567).build();
  15. Thread.sleep(1000); // 1秒提交1次
  16. tsdb.put(point);
  17. }
  18. // 安全关闭客户端,以防数据丢失。
  19. System.out.println("关闭");
  20. tsdb.close();
  21. }
  22. }

查询数据

本段介绍如何使用 SDK 读取数据。操作前提是您已创建出 TSDB 对象。

Query 类为 TSDB 的查询类,即于查询条件。查询数据前需要先构造出查询条件。您可以使用 TSDB 对象的 query 方法查询符合查询条件的数据。

示例代码

查询一小时的数据:

  1. package com.aliyun.hitsdb.client.example;
  2. import java.io.IOException;
  3. import java.util.List;
  4. import com.aliyun.hitsdb.client.TSDB;
  5. import com.aliyun.hitsdb.client.TSDBClientFactory;
  6. import com.aliyun.hitsdb.client.TSDBConfig;
  7. import com.aliyun.hitsdb.client.value.request.Query;
  8. import com.aliyun.hitsdb.client.value.request.SubQuery;
  9. import com.aliyun.hitsdb.client.value.response.QueryResult;
  10. import com.aliyun.hitsdb.client.value.type.Aggregator;
  11. public class TestRead {
  12. public static void main(String[] args) throws IOException {
  13. // 创建 TSDB 对象
  14. TSDBConfig config = TSDBConfig.address("example.hitsdb.com", 8242).config();
  15. TSDB tsdb = TSDBClientFactory.connect(config);
  16. // 构造查询条件并查询数据。
  17. long now = System.currentTimeMillis();
  18. // 查询一小时的数据
  19. Query query = Query.timeRange(now - 3600 * 1000, now)
  20. .sub(SubQuery.metric("test").aggregator(Aggregator.NONE).tag("V", "1.0").build()).build();
  21. // 查询数据
  22. List<QueryResult> result = tsdb.query(query);
  23. // 打印输出
  24. System.out.println(result);
  25. // 安全关闭客户端,以防数据丢失。
  26. tsdb.close();
  27. }
  28. }
  • 本页导读 (1)
文档反馈