Todos los productos
Search
Centro de documentos

Tablestore:Consulta de datos de series temporales

Última actualización: Sep 03, 2026

Use Tablestore SDK for Java para consultar datos dentro de un intervalo de tiempo en una serie temporal, ordenarlos cronológicamente, seleccione los campos a devolver y paginar los resultados.

Requisitos previos

Instale Tablestore SDK for Java e inicialice un cliente de series temporales.

Descripción

Llame a getTimeseriesData para consultar puntos de datos de una sola serie temporal al especificar los identificadores completos de la serie y un intervalo de tiempo. El intervalo incluye la hora de inicio y excluye la hora de finalización.

public GetTimeseriesDataResponse getTimeseriesData(GetTimeseriesDataRequest request) throws TableStoreException, ClientException
Nota

Los datos escritos mediante putTimeseriesData se pueden consultar inmediatamente con getTimeseriesData.

El siguiente ejemplo consulta los datos generados durante la última hora en la serie temporal cpu de example_timeseries_table y devuelve hasta 20 filas por solicitud.

TimeseriesClient timeseriesClient = client.asTimeseriesClient();

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 endTimeInUs = System.currentTimeMillis() * 1000L;
long beginTimeInUs = endTimeInUs - 3600L * 1000L * 1000L;
GetTimeseriesDataRequest request =
        new GetTimeseriesDataRequest("example_timeseries_table");
request.setTimeseriesKey(timeseriesKey);
request.setTimeRange(beginTimeInUs, endTimeInUs);
request.setLimit(20);

GetTimeseriesDataResponse response = timeseriesClient.getTimeseriesData(request);
for (TimeseriesRow row : response.getRows()) {
    System.out.println(row.getTimeInUs());
    System.out.println(row.getFields());
}

Parámetros

GetTimeseriesDataRequest contiene los siguientes parámetros.

Nombre

Tipo

Descripción

timeseriesTableName (obligatorio)

String

Nombre de la tabla de series temporales.

timeseriesKey (obligatorio)

TimeseriesKey

Identificadores completos de la serie temporal a consultar. Los valores deben coincidir con los usados al escribir los datos.

beginTimeInUs (obligatorio)

long

Hora de inicio del intervalo de consulta, en microsegundos desde 1970-01-01 00:00:00 UTC. El valor debe ser mayor o igual que 0. El intervalo de consulta incluye esta hora.

endTimeInUs (obligatorio)

long

Hora de finalización del intervalo de consulta, en microsegundos. El valor debe ser mayor que 0. El intervalo de consulta excluye esta hora.

limit (opcional)

int

Número máximo de filas a devolver en una solicitud. Valor predeterminado y máximo: 5000. Es posible que el número real de filas sea menor debido a límites en la cantidad de datos escaneados. Use nextToken para recuperar los datos restantes.

nextToken (opcional)

byte[]

Token de paginación. No especifique este parámetro en la primera solicitud. Si nextToken en la respuesta no está vacío, páselo a la siguiente solicitud. El token son datos binarios. Para almacenarlo o transferirlo, codifíquelo en Base64. No lo convierta mediante new String(nextToken).

backward (opcional)

boolean

Indica si se deben devolver los datos en orden cronológico inverso. Valor predeterminado: false, que devuelve los datos en orden cronológico.

fieldsToGet (opcional)

List<Pair<String, ColumnType>>

Nombres y tipos de los campos de datos a devolver. Si no se especifica este parámetro, se devuelven todos los campos. Un campo no se puede leer si el tipo de datos especificado difiere del tipo real.

Identificadores de series temporales

timeseriesKey es de tipo TimeseriesKey y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

measurementName (obligatorio)

String

Nombre de la medición. Si usó un valor vacío para escribir los datos, use también un valor vacío en la consulta.

dataSource (opcional)

String

Identificador del origen de datos. Si usó un valor vacío para escribir los datos, use también un valor vacío en la consulta.

tags (opcional)

SortedMap<String, String>

Etiquetas como pares clave-valor de cadenas. El conjunto de etiquetas debe coincidir con el usado al escribir los datos.

Respuesta

GetTimeseriesDataResponse contiene los siguientes campos específicos de la operación.

Campo

Tipo

Descripción

rows

List<TimeseriesRow>

Llame a getRows() para obtener las filas devueltas por la solicitud actual.

nextToken

byte[]

Llame a getNextToken() para obtener el token de la siguiente página. Un valor null indica que se devolvieron todos los datos del intervalo de consulta.

Filas de datos de series temporales

Cada elemento en rows[] es de tipo TimeseriesRow y contiene los siguientes campos.

Campo

Tipo

Descripción

timeseriesKey

TimeseriesKey

Llame a getTimeseriesKey() para obtener los identificadores de la serie temporal.

timeInUs

long

Llame a getTimeInUs() para obtener la marca de tiempo del punto de datos en microsegundos.

fields

SortedMap<String, ColumnValue>

Llame a getFields() para obtener los campos de datos.

Ejemplos

Paginación de todos los resultados

Si una solicitud no devuelve todos los datos, pase repetidamente nextToken de la respuesta hasta que el valor devuelto sea null.

byte[] nextToken = null;
do {
    request.setNextToken(nextToken);
    GetTimeseriesDataResponse response =
            timeseriesClient.getTimeseriesData(request);

    for (TimeseriesRow row : response.getRows()) {
        System.out.println(row.getTimeInUs());
        System.out.println(row.getFields());
    }
    nextToken = response.getNextToken();
} while (nextToken != null);