全部产品
Search
文档中心

Tablestore:Tulis data deret waktu

更新时间:Jul 02, 2025

Setelah membuat tabel deret waktu, Anda dapat memanggil operasi PutTimeseriesData untuk menulis beberapa baris data deret waktu ke tabel tersebut sekaligus.

Prasyarat

Parameter

Satu baris data deret waktu (timeseriesRow) mencakup pengenal deret waktu (timeseriesKey) dan data deret waktu. Data deret waktu mencakup titik data (fields) serta waktu (timeInUs) dari titik data tersebut. Tabel berikut menjelaskan parameter-parameter ini.

Parameter

Deskripsi

timeseriesKey

Pengenal deret waktu. Pengenal ini mencakup parameter-parameter berikut:

  • measurementName: nama pengukuran deret waktu. Anda dapat membiarkan parameter ini kosong.

  • dataSource: sumber data deret waktu. Anda dapat membiarkan parameter ini kosong.

  • tags: tag dari deret waktu. Tag adalah pasangan kunci-nilai bertipe STRING.

timeInUs

Waktu dari titik data. Satuan: mikrodetik.

fields

Titik data yang terdiri dari beberapa pasangan nama (FieldKey) dan nilai data (FieldValue).

Contoh

Kode contoh berikut mengilustrasikan cara menulis beberapa baris data deret waktu ke tabel deret waktu bernama 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");
        // Tentukan nama pengukuran, sumber data, dan tag dari deret waktu untuk membangun pengenal deret waktu.
        TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_" + i, tags);
        // Tentukan parameter timeseriesKey dan timeInUs untuk membuat satu baris data deret waktu.
        TimeseriesRow row = new TimeseriesRow(timeseriesKey, System.currentTimeMillis() * 1000 + i);
        // Tambahkan nilai data.
        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);
    // Tulis beberapa baris data deret waktu secara bersamaan.
    PutTimeseriesDataResponse putTimeseriesDataResponse = client.putTimeseriesData(putTimeseriesDataRequest);
    // Periksa apakah semua data telah ditulis ke tabel deret waktu.
    if (!putTimeseriesDataResponse.isAllSuccess()) {
        for (PutTimeseriesDataResponse.FailedRowResult failedRowResult : putTimeseriesDataResponse.getFailedRows()) {
            System.out.println(failedRowResult.getIndex());
            System.out.println(failedRowResult.getError());
        }
    }
}