使用 Java SDK 批量写入时序数据,并获取写入失败行的错误信息。
前提条件
安装Tablestore Java SDK并初始化时序模型客户端。
功能说明
调用 putTimeseriesData 方法向时序表写入一行或多行时序数据。每行数据由时间线标识、数据点时间和数据字段组成;响应会返回写入失败的行及其错误信息。
public PutTimeseriesDataResponse putTimeseriesData(PutTimeseriesDataRequest request) throws TableStoreException, ClientException以下示例向 example_timeseries_table 写入同一时间线的 3 个数据点,并检查各行的写入结果。
TimeseriesClient timeseriesClient = client.asTimeseriesClient();
String tableName = "example_timeseries_table";
List<TimeseriesRow> rows = new ArrayList<>();
Map<String, String> tags = new HashMap<>();
tags.put("region", "cn-hangzhou");
tags.put("host", "host_0");
TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "source_0", tags);
long baseTimeInUs = System.currentTimeMillis() * 1000L;
for (int i = 0; i < 3; i++) {
TimeseriesRow row = new TimeseriesRow(timeseriesKey, baseTimeInUs + i * 1000L);
row.addField("cpu_usage", ColumnValue.fromDouble(10.0 + i));
row.addField("status", ColumnValue.fromString("ok"));
rows.add(row);
}
PutTimeseriesDataRequest request = new PutTimeseriesDataRequest(tableName);
request.setRows(rows);
PutTimeseriesDataResponse response = timeseriesClient.putTimeseriesData(request);
for (PutTimeseriesDataResponse.FailedRowResult result : response.getFailedRows()) {
System.out.println(result.getIndex());
System.out.println(result.getError());
}参数说明
PutTimeseriesDataRequest 包含以下参数。
名称 | 类型 | 说明 |
timeseriesTableName(必选) |
| 时序表名称。 |
rows(必选) |
| 要写入的时序数据行列表。 |
metaUpdateMode(可选) |
| 时间线元数据更新模式。默认值为 |
时序数据行
rows[] 中每个元素的类型为 TimeseriesRow,包含以下参数。
名称 | 类型 | 说明 |
timeseriesKey(必选) |
| 时间线标识。 |
timeInUs(必选) |
| 数据点时间,格式为从 1970-01-01 00:00:00 UTC 开始计算的微秒时间戳,取值大于等于 |
fields(必选) |
| 数据字段,由一个或多个字段名称和字段值组成。 |
时间线标识
rows[].timeseriesKey 的类型为 TimeseriesKey,包含以下参数。
名称 | 类型 | 说明 |
measurementName(必选) |
| 度量名称。Java SDK 5.17.2 及以上版本支持将其设置为空。 |
dataSource(可选) |
| 数据源标识,可以为空。 |
tags(可选) |
| 标签信息,由字符串类型的键值对组成。未设置时使用空映射。 |
返回值
PutTimeseriesDataResponse 包含以下业务返回字段。
字段 | 类型 | 说明 |
|
| 通过 |
失败行信息
failedRows[] 中每个元素的类型为 PutTimeseriesDataResponse.FailedRowResult,包含以下字段。
字段 | 类型 | 说明 |
|
| 通过 |
|
| 通过 |