Todos los productos
Search
Centro de documentos

Tablestore:Create a time series table

Última actualización: Sep 03, 2026

Cree una tabla de series temporales y configure el tiempo de vida (TTL) de los datos y metadatos, los identificadores de series temporales, las claves primarias de campos de datos, los almacenes analíticos y los índices Lastpoint con Tablestore SDK for Java.

Requisitos previos

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

Descripción

Llame a createTimeseriesTable para crear una tabla de series temporales que almacene datos y metadatos de series temporales. El nombre de la tabla de series temporales debe ser único entre las tablas de datos y las tablas de series temporales de la instancia.

public CreateTimeseriesTableResponse createTimeseriesTable(CreateTimeseriesTableRequest request)

El siguiente ejemplo crea example_timeseries_table. De forma predeterminada, el TTL de los datos de series temporales es -1, lo que significa que los datos no caducan y no se crea ningún almacén analítico.

TimeseriesClient timeseriesClient = client.asTimeseriesClient();

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);

timeseriesClient.createTimeseriesTable(request);

Parámetros

CreateTimeseriesTableRequest contiene los siguientes parámetros.

Nombre

Tipo

Descripción

timeseriesTableMeta (obligatorio)

TimeseriesTableMeta

El esquema de la tabla de series temporales.

analyticalStores (opcional)

List<TimeseriesAnalyticalStore>

Los almacenes analíticos personalizados. Valor predeterminado: una lista vacía. Puede crear como máximo un almacén analítico al crear una tabla de series temporales.

enableAnalyticalStore (opcional)

boolean

Especifica si se debe crear el almacén analítico predeterminado. Valor predeterminado: false. Si analyticalStores no está configurado y este parámetro se establece en true, se crea un almacén analítico llamado default_analytical_store. Su TTL predeterminado es -1 y su modo de sincronización es SYNC_TYPE_FULL. Si analyticalStores está configurado, se crea un almacén analítico personalizado.

lastpointIndexes (opcional)

List<CreateTimeseriesTableRequest.LastpointIndex>

Los índices Lastpoint que se crearán junto con la tabla de series temporales. Valor predeterminado: una lista vacía. Puede crear como máximo un índice Lastpoint al crear una tabla de series temporales. Una tabla de series temporales puede tener hasta 10 índices Lastpoint y almacenes analíticos en total.

Esquema de la tabla de series temporales

timeseriesTableMeta es del tipo TimeseriesTableMeta y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

timeseriesTableName (obligatorio)

String

El nombre de la tabla de series temporales. Debe ser único entre las tablas de datos y las tablas de series temporales de la instancia.

timeseriesTableOptions (opcional)

TimeseriesTableOptions

La configuración del TTL de los datos de series temporales. Se utiliza la configuración predeterminada si no se configura este parámetro.

timeseriesMetaOptions (opcional)

TimeseriesMetaOptions

La configuración de los metadatos de series temporales, que incluye el TTL de los metadatos y la configuración de actualización de atributos.

timeseriesKeys (opcional)

List<String>

Los campos que forman un identificador de serie temporal personalizado. Puede especificar hasta seis campos. De forma predeterminada, un identificador de serie temporal consta del nombre de la métrica, el origen de datos y las etiquetas. Para obtener más información, consulte Customize time series identifiers and data field primary keys.

fieldPrimaryKeys (opcional)

List<PrimaryKeySchema>

Los campos de datos que se usarán como claves primarias. Puede especificar hasta cuatro campos para almacenar varias filas que tengan el mismo identificador de serie temporal y marca de tiempo. Para obtener más información, consulte Customize time series identifiers and data field primary keys.

Retención de datos de series temporales

timeseriesTableMeta.timeseriesTableOptions es del tipo TimeseriesTableOptions y contiene el siguiente parámetro.

Nombre

Tipo

Descripción

timeToLive (opcional)

int

El TTL de los datos de series temporales en segundos. Valor predeterminado: -1. Establezca el valor en -1 o en un número entero de como mínimo 86,400. Un valor de -1 significa que los datos no caducan. Tablestore elimina automáticamente los datos caducados. Después de crear la tabla, puede update the time series table configurations para cambiar el TTL.

Metadatos de series temporales

timeseriesTableMeta.timeseriesMetaOptions es del tipo TimeseriesMetaOptions y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

metaTimeToLive (opcional)

int

El TTL de los metadatos de series temporales en segundos. Establezca el valor en -1 o en un número entero de como mínimo 604,800. Un valor de -1 significa que los metadatos no caducan. El valor no puede ser menor que timeToLive. Si timeToLive es -1, este parámetro también debe ser -1. Si configura un TTL finito, establezca allowUpdateAttributes en false.

allowUpdateAttributes (opcional)

boolean

Especifica si se pueden actualizar las columnas de atributos de los metadatos. Si metaTimeToLive es finito, este parámetro debe establecerse en false.

Claves primarias de campos de datos

Cada elemento en timeseriesTableMeta.fieldPrimaryKeys[] es del tipo PrimaryKeySchema y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

name (obligatorio)

String

El nombre del campo de datos que se usará como clave primaria.

type (obligatorio)

PrimaryKeyType

El tipo de campo de datos. Valores válidos: INTEGER y STRING.

Almacén analítico

Cada elemento en analyticalStores[] es del tipo TimeseriesAnalyticalStore y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

analyticalStoreName (obligatorio)

String

El nombre del almacén analítico.

timeToLive (opcional)

int

El TTL del almacén analítico en segundos. Valor predeterminado: -1. Establezca el valor en -1 o en un entero int32 de como mínimo 2,592,000. Un valor de -1 significa que los datos no caducan.

syncOption (opcional)

AnalyticalStoreSyncType

El modo de sincronización de datos. Valor predeterminado: SYNC_TYPE_FULL. Al crear una tabla de series temporales, solo se admite SYNC_TYPE_FULL, que especifica la sincronización completa.

Índice Lastpoint

Cada elemento en lastpointIndexes[] es del tipo CreateTimeseriesTableRequest.LastpointIndex y contiene el siguiente parámetro.

Nombre

Tipo

Descripción

indexName (obligatorio)

String

El nombre del índice Lastpoint. Para obtener más información, consulte Lastpoint indexes.

Ejemplos

Configurar el TTL de los metadatos

El siguiente ejemplo establece el TTL de los datos de series temporales en 7 días, el TTL de los metadatos en 14 días y deshabilita las actualizaciones de atributos de metadatos.

String tableName = "example_timeseries_table";
TimeseriesTableOptions tableOptions = new TimeseriesTableOptions(604800);
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName, tableOptions);

TimeseriesMetaOptions metaOptions = new TimeseriesMetaOptions();
metaOptions.setMetaTimeToLive(1209600);
metaOptions.setAllowUpdateAttributes(false);
tableMeta.setTimeseriesMetaOptions(metaOptions);

CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
timeseriesClient.createTimeseriesTable(request);

Personalizar identificadores de series temporales y claves primarias de campos de datos

Importante

Los identificadores de series temporales personalizados y las claves primarias de campos de datos requieren Tablestore SDK for Java 5.17.1 o posterior. Se recomienda utilizar la versión más reciente del SDK. Antes de usar estas funciones, asegúrese de que la región de la instancia sea compatible con ellas.

El siguiente ejemplo usa pk1 y pk2 como identificador de serie temporal, y utiliza field1 y field2 como claves primarias de campos de datos.

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
tableMeta.addTimeseriesKey("pk1");
tableMeta.addTimeseriesKey("pk2");
tableMeta.addFieldPrimaryKey("field1", PrimaryKeyType.INTEGER);
tableMeta.addFieldPrimaryKey("field2", PrimaryKeyType.STRING);

CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
timeseriesClient.createTimeseriesTable(request);

Crear un índice Lastpoint

Importante

Los índices Lastpoint requieren Tablestore SDK for Java 5.17.1 o posterior. Se recomienda utilizar la versión más reciente del SDK. Para usar esta función, cree una instancia de modelo de series temporales en una región compatible. Para consultar las regiones compatibles, vea Lastpoint indexes.

El siguiente ejemplo crea example_lastpoint_index junto con la tabla de series temporales.

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
request.addLastpointIndex(
        new CreateTimeseriesTableRequest.LastpointIndex("example_lastpoint_index"));

timeseriesClient.createTimeseriesTable(request);

Crear un almacén analítico

Un almacén analítico proporciona almacenamiento y análisis rentables para datos de series temporales. Para usar esta función, cree una instancia de modelo de series temporales en una región compatible. Para consultar las regiones compatibles y los detalles de la función, vea Analytical store.

Almacén analítico predeterminado

Establezca enableAnalyticalStore en true para crear el almacén analítico predeterminado llamado default_analytical_store.

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);
request.setEnableAnalyticalStore(true);

timeseriesClient.createTimeseriesTable(request);

Almacén analítico personalizado

El siguiente ejemplo crea example_analytical_store junto con la tabla de series temporales. Los datos en el almacén analítico no caducan y se utiliza la sincronización completa.

String tableName = "example_timeseries_table";
TimeseriesTableMeta tableMeta = new TimeseriesTableMeta(tableName);
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(tableMeta);

TimeseriesAnalyticalStore analyticalStore =
        new TimeseriesAnalyticalStore("example_analytical_store");
analyticalStore.setTimeToLive(-1);
analyticalStore.setSyncOption(AnalyticalStoreSyncType.SYNC_TYPE_FULL);
request.setAnalyticalStores(Collections.singletonList(analyticalStore));

timeseriesClient.createTimeseriesTable(request);

Referencias