赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 表格存储
  4. 开发参考
  5. SDK参考
  6. Java SDK
  7. 时序模型
  8. 时序数据操作
  9. 写入时序数据

写入时序数据

  • 时序数据操作
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

创建时序表后,您可以使用PutTimeseriesData接口批量写入时序数据。一次PutTimeseriesData调用支持写入多行数据。

前提条件

  • 已创建时序表。具体操作,请参见创建时序表。

  • 已初始化TimeseriesClient。具体操作,请参见初始化Tablestore Client。

参数

一行时序数据(timeseriesRow)包括时间线标识(timeseriesKey)和时间线数据的配置,其中时间线数据包括数据点的时间(timeInUs)和数据点(fields)。详细参数说明请参见下表。

参数

说明

timeseriesKey

时间线标识,包括如下内容:

  • measurementName:时间线的度量名称,可以为空。

  • dataSource:数据源信息,可以为空。

  • tags:时间线的标签信息,为多个字符串的key-value对。

timeInUs

数据点的时间,单位为微秒。

fields

数据点,可以由多个名称(FieldKey)和数据值(FieldValue)对组成。

示例

以下示例用于向test_timeseries_table时序表中写入多个时序数据。

private static void putTimeseriesData(TimeseriesClient client) {
    List<TimeseriesRow> rows = new ArrayList<TimeseriesRow>();
    for (int i = 0; i < 10; i++) {
        Map<String, String> tags = new HashMap<String, String>();
        tags.put("region", "hangzhou");
        tags.put("os", "Ubuntu16.04");
        // 通过measurementName、dataSource和tags构建TimeseriesKey。
        TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_" + i, tags);
        // 指定timeseriesKey和timeInUs创建timeseriesRow。
        TimeseriesRow row = new TimeseriesRow(timeseriesKey, System.currentTimeMillis() * 1000 + i);
        // 增加数据值(field)。
        row.addField("cpu_usage", ColumnValue.fromDouble(10.0));
        row.addField("cpu_sys", ColumnValue.fromDouble(5.0));
        rows.add(row);
    }
    String tableName = "test_timeseries_table";
    PutTimeseriesDataRequest putTimeseriesDataRequest = new PutTimeseriesDataRequest(tableName);
    putTimeseriesDataRequest.setRows(rows);
    // 一次写入多行时序数据。
    PutTimeseriesDataResponse putTimeseriesDataResponse = client.putTimeseriesData(putTimeseriesDataRequest);
    // 检查是否全部成功。
    if (!putTimeseriesDataResponse.isAllSuccess()) {
        for (PutTimeseriesDataResponse.FailedRowResult failedRowResult : putTimeseriesDataResponse.getFailedRows()) {
            System.out.println(failedRowResult.getIndex());
            System.out.println(failedRowResult.getError());
        }
    }
}
相关文章

写入时序数据 2025-04-22 14:27

创建时序表后,您可以使用PutTimeseriesData接口批量写入时序数据。一次PutTimeseriesData调用支持写入多行数据。 前提条件

查询时序数据 2025-04-22 14:27

使用GetTimeseriesData接口,您可以查询符合指定条件的时序数据。 前提条件

检索时间线 2025-04-22 14:27

当不确定要查询的时间线信息(例如度量名称、数据源信息)或者需要按照指定条件列出时间线时,您可以使用QueryTimeseriesMeta接口指定度量名称、数据源、标签、属性、更新时间等多种条件检索时间线。

更新时间线元数据 2025-04-22 14:27

使用UpdateTimeseriesMeta接口,您可以批量更新时间线元数据的属性。一次UpdateTimeseriesMeta调用支持更新多个时间线的元数据。如果更新的时间线元数据不存在,则直接执行新增操作。

删除时间线元数据 2025-04-22 14:27

使用DeleteTimeseriesMeta接口,您可以批量删除时间线元数据。 说明

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号